摘要: 轮询方式: 和led驱动不同的是在配置IO引脚的时候,把LED的输出引脚换成输入,在read函数中向外发送io的状态。必须由应用程序不断的来查询当前IO口的状态来判断。 中断方式: Makefile同led中的类似。 应用程序: sd 阅读全文
posted @ 2016-10-25 17:48 叶念西风 阅读(1957) 评论(0) 推荐(1)
摘要: 首先贴上代码: 字符设备驱动代码: 模块的Makefile: 测试文件: 完 阅读全文
posted @ 2016-10-25 09:19 叶念西风 阅读(562) 评论(0) 推荐(0)
摘要: 应用程序通过open read write close 等函数来操作计算机硬件。类似是一个接口。 当应用程序调用这些接口程序时,计算机是如何进入内核的呢?这是经过了系统调用。 实际上当调用接口函数时,会引发一个swi异常(附带参数,软中断),通过这个异常就进入了内核空间。在内核空间的异常处理函数中就 阅读全文
posted @ 2016-10-24 13:21 叶念西风 阅读(607) 评论(0) 推荐(0)
摘要: 开发板 jz2440 下载uboot.bin 下载内核 下载文件系统 阅读全文
posted @ 2016-10-24 09:42 叶念西风 阅读(1548) 评论(0) 推荐(0)
摘要: busybox 在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行。而用户自己编写的程序如果需要动态链接库,还是依然需要有。 (从http://www.busybox.net/downloads/可以下载busybox工具) 如果是动态链接 阅读全文
posted @ 2016-10-22 16:53 叶念西风 阅读(2180) 评论(0) 推荐(0)
摘要: 编译的内核可能会很大,故这里可以压缩一下。而在内核文件中需要解压,所以就会有一段自解压代码。 在uboot启动内核的时候,调用了函数: thekernel(0,MACH_ID,params_addr ) 0 存放在r0寄存器 MACH_ID 存放在r1 params_addr存放在r2 1. 首先处 阅读全文
posted @ 2016-10-20 13:12 叶念西风 阅读(501) 评论(0) 推荐(0)
摘要: 内核启动是需要必要的启动参数。不能开机自动完全从0开始启动,需要uboot帮助内核实现重定位并提供参数。 首先,uboo会从Kernel分区中读取bootcmd环境变量,根据环境变量可自动启动。 分区: 每个硬盘上都有一个分区表。由于Flash中没有分区表,所以Flash的分区只能在源代码中定义,故 阅读全文
posted @ 2016-10-19 22:36 叶念西风 阅读(321) 评论(0) 推荐(0)
摘要: -p1代表忽略第一层目录(patch文件中的)。 阅读全文
posted @ 2016-10-19 20:38 叶念西风 阅读(686) 评论(0) 推荐(0)
摘要: 假如: __main的链接地址是0x20000000。而因为它在前面,在启动的时候被拷贝到前面了,所以实际的地址是0x00000000. __main2的链接地址是0x20000010。实际地址是0x00000010. B指令是相对跳转。 也就是把pc加上两个链接地址之间的差值。 如果使用 在 __ 阅读全文
posted @ 2016-10-18 21:43 叶念西风 阅读(727) 评论(0) 推荐(0)
摘要: 获取u-boot源代码 在u-boot官方网站下载uboot源码。ftp://ftp.denx.de/pub/u-boot/ 因为是第一次移植uboot,所以这里选的版本是 u-boot-2013.01 解压文件到 /home/tiny4412下。 根据 Linux嵌入式驱动学习之路③u-boot配 阅读全文
posted @ 2016-10-15 19:47 叶念西风 阅读(439) 评论(0) 推荐(0)
摘要: 这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程。这一过程可以分为两个过程,各个阶段的功能如下。 第一阶段的功能: 硬件设备初始化。 加载u-boot第二阶段代码到RAM空间。 设置好栈。 跳转到第二阶段代码入口。 第二阶段的功能: 初 阅读全文
posted @ 2016-10-13 22:54 叶念西风 阅读(1431) 评论(0) 推荐(0)
摘要: u-boot编译分析 在配置完成后,执行make开始编译。这里打开Makefile。 首先在目标all前有一句话首先检查是否有include/config.mk文件来判断是否成功配置过。 下面分析“make”命令正常执行的过程。 include/autoconf.mk生成过程 首先包含头文件auto 阅读全文
posted @ 2016-10-12 21:48 叶念西风 阅读(1521) 评论(1) 推荐(0)
摘要: u-boot配置流程分析 执行make tiny4412_config后,将会对u-boot进行一些列的配置,以便于后面的编译。 打开顶层目录下的Makefile,查找对于的规则tiny4412_config。 TINY4412对应的规则是%_config 在Makefile中%为通配符,代表任意长 阅读全文
posted @ 2016-10-12 15:01 叶念西风 阅读(873) 评论(0) 推荐(0)
摘要: u-boot工程简介 现在的u-boot支持PowerPC、ARM、X86、MIPS体系结构的上百种开发板,已经称为功能最多、灵活性最强,并且开发最积极的开源Bootloader。目前由DENX的WolfgangDenk维护。 u-boot远吗包可以从其官方网站下载。 u-boot软件包下载网站: 阅读全文
posted @ 2016-10-12 13:47 叶念西风 阅读(400) 评论(0) 推荐(0)
摘要: 首先,直接运行xrandr查看下分辨率的情况: Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 4096 x 4096 LVDS1 connected (normal left inverted right x axis y axi 阅读全文
posted @ 2016-10-12 13:18 叶念西风 阅读(1011) 评论(0) 推荐(0)
叶念西风 - 个人博客