Linux的启动流程、移植到开发板

1、linux驱动开发与裸机开发的区别

   Linux系统驱动和裸机驱动的主要区别在于运行时的环境和依赖。Linux系统驱动依赖于Linux内核提供的API和服务,而裸机驱动则是在没有操作系统支持的情况下直接与硬件交互。因此,两者的开发和调试方法也有很大差异。

2、驱动基础

2440里的IRAM ,ubuntu与ARM之间通过net(网络)连接

页表:记录虚拟地址与物理地址之间的关系。

norflash接在0地址,程序放在 norflash,上电后pc指向0地址,程序刚好可以运行。(程序放在nandflash就不能运行,pc没有指向)

要想访问nandflash,需要专用程序/控制逻辑。

内存:掉电数据丢失

flash:掉电不丢失 

norflash和nandflash 

我们开发板上的nandflash大小256M,norflash2M

norflash: 可线性访问,和内存的访问方式相同---有专用的数据、地址、控制总线

nandflash: 不可线性访问,需要有程序配合访问

 内核的任务

加载完后先启动init进程(内核里的进程),init退化到应用层,init再创建其他进程(shell nfs等)

 跟文件系统

bootloader:

bootloader放在nandflash里时:系统上电后,会自动搬移nandflash前4KB的程序到IRAM中,将0地址映射到0x40000000(IRAM的地址)地址处,bootloader在前4KB代码中初始化 好内存,并将自己剩余的部分搬移到内存中运行。

在norflash里时: 系统上电后,PC默认指向0地址处(norflash被连接到0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值