
嵌入式LINUX
cp1300
电子爱好者
展开
-
MB85RC铁电 FRAM驱动(全志平台linux)
测试几天发现一个bug,就是无法一次读取32个字节的数据,1-31,33,128,512都试过了,唯独无法读取32个字节,驱动未报错,但是读取的都是0,找不到原因,估计应该是全志iic驱动的问题,暂时没有折腾,尽量避开32字节读取吧,32字节写入是没问题的。读取32字节的时候,这个打印都结束了才提示DMA读取完成,很有可能就是因为数据都没读取完成,但是底层已经返回了,原因未知,珍爱生命,远离linux驱动,凑合着用吧(⊙o⊙)仔细看底层驱动的打印信息。读取32字节全部是0。试试33字节就正常了。原创 2024-03-04 14:53:51 · 993 阅读 · 1 评论 -
安装openssh-server报错 E: Sub-process /usr/bin/dpkg returned an error code (1)
在ubuntu core 14上面安装openssh报错,之前是可以用的,我重新卸载后重装报各种错误,最后按照网上很多办法进行了尝试都无解。重新安装报错(正在读取数据库 ... 系统当前共安装有 107977 个文件和目录。)正准备解包 .../openssh-client_1%3a7.2p2-4ubuntu2.10_armhf.deb ...正在解包 openssh-client (1:7.2p2-4ubuntu2.10) ...正在选中未选择的软件包 ncurses-term。正准备解原创 2020-07-22 14:39:15 · 5193 阅读 · 0 评论 -
【嵌入式linux】(第五步):使用eclipse集成开发环境开发第一个嵌入式Linux驱动
1.准备工作 首先得安装好gcc工具链,以及开发环境,可以看看我的前面的几步。 还得编译好内核,一般开发板都带了,现在我还不知道配置内核,只能按照开发板默认的去编译,编译前需要先编译uboot,建议像我一样的新手先学会驱动编写,慢慢的去学习 内核的配置裁剪,我觉得到时候这个肯定是非常简单的过程,只不过没有找到门道而已,等我会了一定和大家分享,如果有会的可以教我一下,在下感激不尽。原创 2012-12-06 21:23:09 · 11732 阅读 · 7 评论 -
【嵌入式linux】(第六步):使用eclipse集成开发环境开发第一个嵌入式Linux程序,并测试LED驱动
前言:使用eclipse开发嵌入式linux程序和pc linux程序几乎没有区别,并且使用eclipse图形界面的集成开发环境上手简单,方便学习,这里就教大家开发第一个嵌入式linux程序,程序功能就是测试上次写好的LED驱动程序。1.新建工程输入工程名称,选择可执行程序,选择cross GCC,下一步,选择填写arm-linux-gcc的路径,这一步按照自己的实际情况进原创 2012-12-24 21:54:04 · 3913 阅读 · 0 评论 -
ioctl 变成了 unlocked_ioctl
kernel 2.6.35 及之前的版本中struct file_operations 一共有3个ioctl :ioctl,unlocked_ioctl和compat_ioctl现在只有unlocked_ioctl和compat_ioctl 了在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unl转载 2013-01-11 22:26:24 · 2035 阅读 · 0 评论 -
linux串口收发数据不对(由于流控等设置不对导致)
最近一个项目使用了嵌入式linxu串口通信,由于通信使用的是2进制数据,经常出现通信校验失败,数据帧大小没问题,就是校验出错c_iflag参数表键 值说 明IGNBRK忽略BREAK键输入BRKINT如果设置了IGNBRK,BREAK键输入将被忽略IGNPAR忽略奇偶校验错误原创 2015-05-25 16:56:14 · 9695 阅读 · 0 评论 -
DS-5交叉编译linux程序并在线调试
简介:在windows下,使用ARM DS-5编译嵌入式linux程序,并直接使用DS-5仿真调试,与KEIL MDK开发调试一样方便。要求:目标板与开发使用windows在同一局域网,并且能够使用ssh连接目标板,目标板安装了gdb Server。准备工作:1.安装DS-5(百度一下,你就知道)。2.目标板上安装GDB Server:sudo apt-get install gdbs...原创 2018-07-31 20:11:12 · 4476 阅读 · 0 评论 -
linux 串口modbus操作
标准modbus-RTU协议,分离底层接口,之前使用在STM32上,最近移植到linux,操作都是一样。//uart.c 串口读写,没有特意去设置起始位什么的,通常都是8.N.1极少数使用奇偶校验了,毕竟通信协议上面都会带CRC。/* * Uart.c * * Created on: 2018年8月2日 * Author: cfan */#include <...原创 2018-08-18 08:53:34 · 6151 阅读 · 16 评论 -
linux SPI操作LCD12864液晶
液晶型号为JLX12864 COG液晶,资料网上有,linux下面通过SPI与IO控制,IO控制使用的是文件方式,SPI是开发板提供的驱动,这个SPI驱动应该每家提供的都不一样,需要自己去按照驱动文档操作,主要不通电就是底层的配置不一样。//SPI.c这个是打开SPI驱动/* * SPI.c * * Created on: 2018年8月2日 * Author: cf...原创 2018-08-18 09:18:15 · 3724 阅读 · 3 评论 -
【嵌入式linux】(第三步):安装串口终端 (ubuntu安装minicom串口终端)
1.前言 我使用的是USB转串口,芯片是PL2303,貌似ubuntu自带了PL2303的USB驱动,可以直接使用,其它的USB转串口的没试过。2.minicom安装 在终端中输入 : sudo apt-get install minicom 按提示下载并安装minicom, 下载安装完成后使用命令启动minicom,在终端中输入:sudo minicom 即可启动原创 2012-12-05 21:19:46 · 8361 阅读 · 0 评论 -
【嵌入式linux】(第二步):安装交叉编译器(arm-linux-gcc)以及集成开发环境(eclipse)
上一步已经安装好了ubuntu了,更新好语言包后就可以开始下一步了。1.安装arm-linux-gcc,不管你是从网上下载的,还是开发板光盘里面的,都可以,版本也没什么限制,我的是arm-linux-gcc-4.3.2。 进入arm-linux-gcc安装包的目录,我的位置是在 /home/cfan/temps这个目录里面 打开一个终端,cd到当前原创 2012-11-20 20:55:25 · 9625 阅读 · 1 评论 -
使用eclipse集成开发环境开发arm linux程序
相信很多想入门linux的同学对linux开发环境很头疼吧,之前使用的是命令编译,比如编译main.c 使用命令arm-linux-gcc -o main main.c,使用起来很不方便,现在有了eclipse集成开发环境,让开发变的简单. 首先确保电脑正确的安装了eclipse,还有arm linux gcc,我使用的是ubuntu 12.04 安装好了eclipse,还有arm lin原创 2012-08-24 14:12:10 · 17917 阅读 · 21 评论 -
OK6410 linux LED驱动
ok6410 linux的第一个驱动LED驱动//驱动程序代码/**************************************************************************************************************** * 文件名称 : led_drive.c * 简介 : OK6410 LED驱动 *原创 2012-08-26 18:16:33 · 5329 阅读 · 0 评论 -
OK6410 Linux DS18B20驱动
//要注意一点,在裸机状态下可以使用data = data * 6.25来对温度值进行放大100倍,但是在内核中不能使用,但可以使用data = data * 625 / 100; //网上查了一下好像是内核不支持浮点.不知道是不是这回事,但是我不使用浮点驱动加载就没问题,使用后不能加载了. /*************************************************原创 2012-09-18 23:32:49 · 4089 阅读 · 2 评论 -
解决OK6410开发板无法rmmod(卸载驱动)
在PC linux上面新建一个rmmod.c#include #include #include #include #include #include int main(int argc, char *argv[]){const char *modname = argv[1];int ret = -1;int maxtry = 10;while (m转载 2012-09-18 23:37:46 · 4067 阅读 · 2 评论 -
linux设备驱动读书笔记(转)
linux设备驱动读书笔记设备驱动简介机制:提供什么能力策略:如何使用这些能力在编写驱动时, 程序员应当编写内核代码来存取硬件, 但是不能强加特别的策略给用户, 因为不同的用户有不同的需求. 驱动应当做到使硬件可用, 将所有关于如何使用硬件的事情留给应用程序编写驱动需要注意的地方:必须注意并发/重入的问题内核空间和用户空间不能直接操作,必须通过特别的函数(c转载 2012-09-19 10:15:07 · 14595 阅读 · 0 评论 -
Linux-2.6.38.8 移植参考
Linux-2.6.38.8 移植参考 最近学习Linux有点迷茫,刚学会了字符驱动的编写但是却不知道下一步该干些什么,想学习Linux内核裁剪,但是苦于找不到资料,开发板自带的是Linux3.01,虽然我会编译内核却完全不知道如何去裁剪,配置都是开发板自带的,我想自己学习裁剪一个Linux2.6的内核,因为现在的学习资料大部分都是以2.6的内核为例的,因此为了学习方便,我想移植一个Lin原创 2012-10-21 19:13:25 · 4160 阅读 · 6 评论 -
【嵌入式linux】(第一步):在windows上安装ubuntu
记录安装过程,也算是笔记了,之前每次重装都忘记了。上次安装的是Ubuntu12.04,刚刚下载了Ubuntu12.10正式版,安装方法都是一样的,我使用的是硬盘(wubi)安装,非虚拟机。1.下载Ubuntu12.10下载地址:http://mirrors.163.com/ubuntu-releases/12.10/ubuntu-12.10-desktop-i386.iso原创 2012-11-18 09:14:51 · 3553 阅读 · 0 评论 -
【嵌入式linux】(第四步):安装NFS服务,并挂载到开发板
1.前言 由于嵌入式linux开发大多数使用的是交叉编译环境,难免很频繁的将文件在开发板和PC环境之间传递,最方便的当然是网络传递了,可以使用FTP,以及挂载NFS两种方式了,显然后者更为方便了。2.NFS服务安装 Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序: sudo apt-get insta原创 2012-12-05 23:28:58 · 15682 阅读 · 3 评论 -
让OK6410 linux支持自己的LCD
OK6410自带的那块LCD分辨率太低了,我自己在淘宝上面淘了一块5寸的LCD,分辨率800*480,与飞凌驱动里面7寸屏分辨率一样,我就改动了一下时序参数,能用了,但是有部分不大清晰,最终发现时由于时钟边沿有效设置错了,#include "s3cfb.h"#define S3CFB_HFP 41 /* front porch */#define S3CFB_HSW 175原创 2012-08-23 21:10:16 · 4465 阅读 · 11 评论