第一课 不要用老方法学习单片机和ARM

Windows启动:  BIOS -->从存储器中读取并启动内核-->挂载C D盘启动应用程序

Linux启动:     bootloader->去FLASH/SD卡中读出linux内核并启动-->挂在跟文件系统-->启动应用程序

linux中的bootloader类似于windows中的BIOS

bootloader干的活有很多,初始化时钟,初始化内存,设置网卡,启动内核,得有读取FLASH的能力,显示logo,有操作lcd的能力,基本是对计算机的硬件的初始化的工作和引导 内核的启动。太复杂,bootloader可以看作单片机程序的大全,可以通过bootloader的学习来实现单片机程序的学习,是后续Linux驱动学习中硬件操作的基础。

简单的驱动程序的框架(以操作一个io为例子):

app的需求:              open     read      write

驱动接口(软件框架): drv_open     drv_read    drv_write

硬件操作        配置io        读取io    写入io

==>  驱动程序=软件框架(api)+硬件操作

开发工具选择:不要过度依赖集成开发环境,再ubuntu下,使用arm-linux-gcc工具来编译程序。

猜你喜欢

转载自www.cnblogs.com/freyluo/p/11020496.html