10 2019 档案
在开发板上显示字符和中文
摘要:我们在写lcd驱动程序时,测试时可以在lcd上显示信息,那么他怎么能显示出信息呢,内核里有字符点阵编码,我们在内核里打开字符编码,可以看到很多字符点阵也称为字体。下面我们来自已写一个应用程序在lcd显示屏上显示字母以及显示中文。字符编码 在前面有一个随笔里有写,对于英文字母,用ascii码即可,那么 阅读全文
posted @ 2019-10-30 23:30 荧火虫 阅读(2050) 评论(0) 推荐(0)
块设备驱动程序的框架
摘要:块设备和前面的字符设备驱动主体框架和编程思想上基本相同,但是在操作的时候就不一样了。 框架: app: open,read,write "1.txt" 文件的读写文件系统: vfat, ext2, ext3, yaffs2, jffs2 (把文件的读写转换为扇区的读写) ll_rw_block 扇区 阅读全文
posted @ 2019-10-29 15:08 荧火虫 阅读(335) 评论(0) 推荐(0)
USB 驱动框架分析
摘要:这里先说一些概念性的东西,了解一下USB 一、关于usb设备 都见过很多,用过很多了,每当我们插上一个usb设备到pc的时 右下角就会弹出一个提示信息,提示“发现xxx”设备,再接着跳出一个对话框提示安装驱动程序,那么,即然没有驱动程序,PC如何知道我是usb设备还有知道我是“xxx”呢,因为PC机 阅读全文
posted @ 2019-10-29 08:41 荧火虫 阅读(1030) 评论(0) 推荐(0)
触摸屏驱动程序框架分析
摘要:触摸屏驱动程序,用于人机交互lcd上的独立的一个屏,这里指的是电阻屏。下面来分析一下内核自带的触摸屏驱动框架,便于我们自已编写触摸屏驱动程序 触摸屏驱动使用的是Input_subsys系统。我们打开内核的s3c2410_ts.c触摸屏驱动来分析:下面来看一下流程是怎么样 从入口函数开始分析 stat 阅读全文
posted @ 2019-10-28 14:44 荧火虫 阅读(1030) 评论(0) 推荐(0)
lcd 驱动程序框架分析
摘要:在嵌入式产品中,lcd的用途可谓很大,很多产品都会用到lcd作为人机交互的接口,在linux内核中当然也有lcd的驱动,内核中都是做好了框架,用平台设备来添加和管理不同的lcd驱动程序,因为每款arm芯片的接品都有不同,每款lcd的驱动方式也有不同,方便后期开发人员增加和修改以达到适用于不同硬件设备 阅读全文
posted @ 2019-10-26 17:01 荧火虫 阅读(533) 评论(0) 推荐(0)
input_subsys 输入子系统框架分析
摘要:在linux内核中 已做好各类驱动的框架,驱动程序也属于内核的一部分,我们可以在原有的驱动上修改,来匹配我们自已的硬件,也可以自已编写符合内核驱动框架的驱动程序。出于学习的目的,便于更好的理解各类驱动的框架和编程思想,先分析内核自带的驱动框架和流程,再自已编写符合内核框架的驱动程序。下面开始,从输入 阅读全文
posted @ 2019-10-26 00:12 荧火虫 阅读(291) 评论(0) 推荐(0)
linux 链表
摘要:转自:http://www.cnblogs.com/skywang12345/p/3562146.html 写得通俗易懂,理解这种概念,在其它场合,结合linux内核 里分层分离,平台总线等思维 可以写出框架完整,易移植,和多人合作大项目中。 对于我来说,一直以来,不理解,也不了解,在单片机里,每次 阅读全文
posted @ 2019-10-23 11:13 荧火虫 阅读(110) 评论(0) 推荐(0)
linux-3.4.6内核中断流程分析
摘要:每个内核版本的代码都会有小部分不同,但是大体流程基本相同,只是调用关系和函数名称有些变化,下面来分析中断流程 1:在 arch/arm/kernel/ 下有个traps.c 文件中的 void __init early_trap_init(void *vectors_base) 函数 进行重定位中断 阅读全文
posted @ 2019-10-22 11:05 荧火虫 阅读(401) 评论(0) 推荐(0)
根文件系统流程分析
摘要:我们知道内核启动后就要挂载根文件系统再执行应用程序,下面来分析一下根文件系统的流程,和所需要的东西。 内核挂接根文件系统后,怎么样启动第一个应用程序呢?内核分析得到 执行 static int __init kernel_init(void * unused) 分析这个函数 kernel_init( 阅读全文
posted @ 2019-10-18 11:32 荧火虫 阅读(312) 评论(0) 推荐(0)
关于内核的入口地址和加载地址
摘要:内核编译完成后会打印入口地址和加载地址 如果我们想修改成其它地址的话就在vi arch/arm/mach-s3c24xx/Makefile.boot 中修改即可 修改else分支 阅读全文
posted @ 2019-10-18 09:57 荧火虫 阅读(780) 评论(0) 推荐(0)
第一个驱动 led_drive
摘要:前面记录了根文件系统,现在开始写驱动程序,关于框架什么的都是一些概念的东西,这里就不详述,先写一个最简单的LED驱动 从现在开始进入Linux驱动的大门,如何自已写,参考内核自带的字符驱动,仿照写出自已的驱动,这些驱动只适合自已使用,想 做成通用的驱动,后面会慢慢深入,现在先了解和熟悉 linux驱 阅读全文
posted @ 2019-10-16 20:33 荧火虫 阅读(267) 评论(0) 推荐(0)
关于ifconfig 配置网卡出错解决
摘要:出现这个问题的原因是内核移植时没有完全移植好,u-boot启动时的机器ID用的是SMDK2440 的16a 内核里mach-smdk2440.c 文件里没有网卡,解决办法有两种 一、把机器ID换成 mini2440 的7cf 二、去修改内核smdk2440.c加上网卡即可 引用https://www 阅读全文
posted @ 2019-10-14 22:12 荧火虫 阅读(492) 评论(0) 推荐(0)
改进根文件系统
摘要:前面已经制作好了最小根文件系统,但是并不完善,下面来完善 一、增加 proc 虚拟文件系统,proc 是内核提供一个虚拟的文件系统,收集内核的信息 在串口中启动文件系统后可测试 用命令 ps 提示没有这个目录,那么我们创建一个 mkdir proc 再 ps 同样没有信息,手工挂载 mount -t 阅读全文
posted @ 2019-10-14 21:52 荧火虫 阅读(231) 评论(0) 推荐(0)
制作根文件系统映像工具
摘要:上一节制作了最小根文件系统的材料,如果要烧录到板子上运行还需要把这些材料制作成映像文件,制作映像需要用到对应的工具 这一节将来完成工具的制作,下面以制作yaffs2格式文件系统为例 列出方法和步骤。 一、获得工具原码 yaffs_source_util_larger_small_page_nand. 阅读全文
posted @ 2019-10-14 16:24 荧火虫 阅读(561) 评论(0) 推荐(0)
制作根文件系统,基于JZ2440
摘要:移植好u-boot 和 linux内核后,还需要制作根文件系统,在内核启动后挂接根文件系统,再运行应用程序 下面列出根文件系统的制作步骤和方法:注意,制作根文件系统使用的编译器需要和内核编译器一样,否则有可能无法运行 最小根文件系统有五大要素: 1:busybox:就是各种命令的集合 2:需要两个设 阅读全文
posted @ 2019-10-14 10:26 荧火虫 阅读(937) 评论(0) 推荐(0)
记录自已的成长经历 关于自学的那些事
摘要:"自学" 真是太难了,也许对于一些天才来说,肯定不同意了,但这都不重要,重要的是我只是阐述这个人的观点。 本人80后,地地道道的乡下人,02年进入社会打拼,当时那个开心呀,终于自由啦!后面的情况,想必很多人都知道会发生什么了,真是惨不忍睹。上过当,挨过饿,睡过大街。当过服务员,做过流水线,一言难尽。 阅读全文
posted @ 2019-10-11 17:17 荧火虫 阅读(233) 评论(0) 推荐(0)
STM32简单加密
摘要:转自:https://www.cnblogs.com/lifexy/p/8669916.html STM32可以对存储在flash上的程序进行读保护. 启动读保护后,用户就不能再读写程序了. 所以,在烧写程序之前,需要程序调用关闭读保护.关闭读保护后,会自动清空flash上的程序 头文件位于:#in 阅读全文
posted @ 2019-10-11 15:55 荧火虫