- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 烧写实验
实验三 烧写实验
实验目的:
通过本实验掌握驱动程序动态加载的原理以及动态加载的步骤,另外掌握ARM开发板烧写的内容及步骤。
实验设备:
安装vmware8.0及unbuntu10.10的计算机
TQ2440开发板
串口线
USB线
实验原理:
S3C2440的启动模式
S3C2440支持两种启动模式:从nand flash启动和从NOR flash启动:
在ARM上电的情况下,流程如下:
1、 关闭看门狗,关闭所有中断。
2、 设置系统工作频率,FCLK,HCLK,PCLK,UCLK。
3、 初始化内存控制寄存器,初始化参数在段SMRDATA里定义。SDRAM初始化在这里处理。
4、 在开发板上电时,按住接在EINT0脚上的按键会清零64MSDRAM。
5、 初始化堆栈
6、 读OM0,OM1引脚状态,判断是从NAND FLASH启动还是从NOR FLASH启动。
从NAND flash启动:
如果是从NAND FLASH启动,把NAND FLASH的代码拷贝到SDRAM中,接着程序开始在SDARM中运行。然后初始化数据段,最后跳转到main()函数开始运行。
从NAND FLASH启动时,在ARM上电时,ARM会自动把NAND FLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0ARM上电后会从SRAM处开始运行。
从nor flash启动:
如果是从NOR FLASH启动,判断ResetEntry值和BaseOfROM值是否相等,BaseOfROM值是在ADS里定义的RO BASE,如果定义为0因为ARM上电ResetEntry值为0,所以接下来程序会把NOR FLASH里的程序拷贝到SDRAM中。如果RO BASE定义为0,将直接在NOR FLASH里运行。然后初始化数据段,最后跳转到main()函数开始运行。
从NOR FLASH启动时,因为NOR FLASH接在bank0。地址映射是0所以ARM上电后直接运行NOR FLASH里的程序。此时S3C2440内部SRAM地址为0
ARM上电启动都是从0始运行。但是对于复位程序入口,ResetEntry的值在ARM上电运行时是0在JTAG仿真时是0这个值很关键,在拷贝程序时会用到。
NOR flash以及NAND flash上存储的内容:
NOR flash上预存一段引导程序 u-boot ,可以通过Jtag对NOR FLASH上的U-BOOT进行烧写
NAND FLASH烧写的内容:u-boot、内核、根文件系统;要烧写NAND FLASH 要事先对NAND FLASH 进行分区;然后从NOR flash启动,从而引导对nand flash烧写;
Nand flash的分区情况:参考
NAND FLASH烧写使用的工具:串口线+超级终端、USB线+DNW串口工具
DNW软件,是用来做嵌入式开发时用来下载文件镜像的,ARM系列芯片:S3C2440,S3C2410等。
NAND FLASH烧写具体步骤
(一)烧写的内容:
第一:首先烧写nor:什么都没有的开发板,需要在nor flash 烧写uboot文件,用h-jtag或者j-link,
第二:第一步完成之后,在nor下面启动,选择1,烧写uboot,文件还是uboot
第三:在nand模式下启动,进入烧写模式,选择2,烧写eboot,然后选择3,烧写zImage,
选择b,烧写logo,最后选择6,烧写文件系统,就是那个root_qt的文件,
烧写完后,选择8可以进入linux系统,或者关电重启进入系统。
第一次进入系统需要调整触摸,首先使用usb鼠标-》我的设备-》控制面板-》笔针-》校准-》在校准,在出来的画面。利用触摸板点击十字坐标5次,十字坐标消失后再点击一次触摸屏,即可。
(二)烧写的具体步骤截图:
传送驱动程序至开发板:利用串口方式,或者网络方式
打开超级终端
安装USB驱动
开发板打到下载模式,并打开PC机上的超级终端
选择1,下载U-boot
打开DNW工具,选择菜单USB PART---transmit将U-BOOT烧写进开发板
按照相同步骤,将内核以及文件系统烧写进开发板
文档评论(0)