bin 文件如何烧写到c8051f020串口通信?

linux下为SD卡烧写uboot.bin的原理与方法 - 下载频道
- CSDN.NET
&&&&linux下为SD卡烧写uboot.bin的原理与方法
linux下为SD卡烧写uboot.bin的原理与方法
本次对linux下为SD卡烧写uboot.bin的原理与方法进行一个讲解
自己归纳总结的linux下将uboot.bin文件烧写到SD卡的方法与原理,其中包含了对dd命令的分析,和tiny210对SD卡启动的要求,针对SD卡进行分区管理的原理。本资料应该用在对这方面不了解 的朋友肯定有十分大的用处,希望 可以帮到大家!
嵌到我的页面
<input type="text" readonly="true" value="">
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
操作系统下载排行别人用VS写了一个应用程序,想把该程序做成BIN文件直接烧写到NandFlash里面去,该怎么做?_百度知道
别人用VS写了一个应用程序,想把该程序做成BIN文件直接烧写到NandFlash里面去,该怎么做?
用VS2008写了一个应用程序,因为有很多图片文件被调用的,所以想把图片和应用程序做成俯海碘剿鄢济碉汐冬搂一个BIN文件,再直接烧写到NandFlash里面去,应该怎么做呢?
我有更好的答案
程序好写,怎么烧就不是程序的问题了
其他类似问题
为您推荐:
您可能关注的推广
nandflash的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁6670人阅读
&&&&&&&& 很多同学使用笔记本作为自己的ARM开发和学习的平台,绝大多数笔记本都没有并口,也就是无法使用JTag调试和烧写程序到Nand Flash中,幸好我们还有JLINK,用JLINK烧写U-boot到Nor Flash中很简单,大部分NOR Flash都已经被JLink的软件SEGGER所支持,而新手在学习的时候经常会实验各种各样的命令,最悲剧的莫过于将NAND Flash中原有的bootloader给删除了,这时候开发板上电后由于没有bootloader,硬件没有被初始化,在NAND
Flash中的操作系统也就无法被加载,开发板成“砖”了,这时候笔记本又无法利用JTag烧写程序进Nand Flash。起始这些可以利用JLink通过两种方法解决:
一、方法一,利用NOR Flash。
&&&&&&& 这种方法是利用JLink能够烧写程序到NOR Flash来完成的,首先利用J-FLASH ARM将u-boot.bin烧写进NOR Flash(记得烧写到NOR Flash的<span style="color:#ff起始地址处),然后设置开发板从NOR Flash启动,这时候系统进入U-boot命令行模式,这时候打开J-Link commander,输入命令:r 看JLink是否能识别开发板的信息(也就是判断JLink是否连接正常)。
以下是在J-Link commander里的命令,先假设u-boot.bin在你电脑的D盘根目录下。
1. speed 12000
//设置TCK为12M,下载程序时会很快
2. loadbin d:\u-boot.bin 0x
注意:0x是你想要下载u-boot.bin到开发板的内存地址,内存地址根据不同的开发板设定不同,因为本文中使用的是FL2440,片上系统是S3C2440,内存挂载的地址区域是0xx33ffffff,我们只需要把u-boot.bin下载到这片区域即可,
然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可:
nand erase 0 40000
// 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度,长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。
nand write
// 把前面下载到0x的u-boot.bin烧写到Nand去
然后我们再设置开发板从NAND Flash启动即可。
二、方法二,直接通过JLink
&&&&&&& 假如你的开发板没有NOR Flash或者是你使用的NOR Flash还未被J-FLASH ARM所支持,这时上面的方法你就无法使用了,这时候你需要一个初始化内存SDRAM的程序,这个程序完成的功能也就是配置好SDRAM的寄存器,使它能正常工作,fl2440的内存初始化程序:“2440init.bin”。你还需要准备一个特殊的u-boot_SDRAM.bin,它与你要烧写到NAND
Flash的u-boot.bin有区别,u-boot_SDRAM.bin编译时需要在include/configs/开发板配置文件.h文件中添加:
#define& CONFIG_SKIP_LOWLEVEL_INIT&&&& 1 //用来支持uboot在内存中直接运行
添加这个宏定义之后,U-boot就跳过了内存初始化的部分,因为此时我们的内存已经先由“2440init.bin“初始化好了,再次初始化会出现内存数据的丢失。
&&&&&&& 做好上面的准备工作之后,首先将开发板设为从NAND Flash启动,启动J-Link commander,先假设“u-boot.bin”和“2440init.bin”在电脑的D盘根目录下。
loadbin d:\2440init.bin 0
&&&&&&& 为什么需要把&2440init.bin&复制到0x0地址是因为S3C2440有4K的SRAM,它不需要初始化就可以直接执行程序,从NAND Flash启动时,这个SRAM的地址会挂载到0x0~0x1000的地址空间,我们先把&2440init.bin&复制到SRAM中运行,执行这部分后S3C2440的SDRAM内存就初始化好了(地址空间0xx33ffffff)。也许有人会说为什么不一开始就把u-boot_SDRAM.bin放在SRAM中运行啊?SRAM只有4K的大小,而U-boot通常在100~300K,SRAM的空间显然不够,而&2440init.bin&的大小只有不到2K,它可以在SRAM中运行。
内存初始化成功后,下载特制的u-boot_SDRAM.bin:
loadbin e:\u-boot_SDRAM.bin 0x33f80000
setpc 0x33f80000
&&&&&& 这时你应该可以在串口看到U-boot的输出信息了,然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可:
nand erase 0 40000
// 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度,长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。
nand write
// 把前面下载到0x的u-boot.bin烧写到Nand去
&&&&&&&& 根据上面的步骤就可以完成u-boot到NAND Flash的烧写了,实际上是利用一个SDRAM中运行的u-boot去烧写u-boot.bin到NAND Flash中。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场镜像文件烧录方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
镜像文件烧录方法
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 c8051f020例程 的文章

 

随机推荐