
2、SST39VF1601移植参考文件是SST39VF160,在uboot/board/dave/common/flash.c 文件,但是EN29LV160AB移植参考文件也是可以用这个文件吗??
3、国嵌中SST39VF1601,移植修改如下
(1)先读取nor flash ID,即要吻合software ID Entry命令 *** 作序列。(在函数flash_init中,先修改函数flash_get_size())
(2)函数中不识别device ID为234BH的SST39VF1601的片子,所以在flash.c中添加相应的宏定义
(3)在函数flash_get_size()的device ID匹配中添加代码,使初始化时能够识别芯片
(4)建立flash的block分区的地址表,驱动按照每块64kb来建立分区的
(5)修改flash的擦除函数flash_erase(),实验时可以选择按块方式擦除
(6)修改法拉盛写函数write_word函数
(7)修改函数write_buff
(8)修改函数flash_print_info
(9)此时去编译uboot的时候会报一些错误,因为没有CFG_FLASH_ADDR0没有定义,参考include/configs/B2.h,腊搏在board/mini2440/flash.c添加宏定义的代码
(10)屏蔽原来flash有关氏猜的宏定义
(11)添加有关新的flash宏定义(CONFIG_ENV_ADDR定义了环境变量的起始地址为0x30000,环境变量的大小为64k)
1.重新下载;轮腔2.判断在下载电脑上是否可以正常安装;3.将文件通过U盘拷贝腊颂衫到另一台电脑;4.如果不能安装,说明出现坏块,需要修复。问题补充:1.重新下载;2.判断在下载电脑上是否可以正常安装;3.将文件通过U盘拷贝到另一台电脑;4.如果不能安装,说明U盘出现坏块,樱桐需要修复
Redboot被设计用于嵌入式调试和启动环境,它是一个基于eCos的应用程序,使用eCos的硬件抽象层(HAL)作为它的基础。它一个基本的功能是作为bootloader,但可用于任何嵌入式系统或任何嵌入式实时 *** 作系统中。也可用于产品开发周期中的调试支持或在发布的产品中提供flash或网络启动。特性有:
启动脚本支持;
管理和控制的命令行支持;
通过串口或以太网口的访问;
GDB支持;
flash映像系统支持;
X/Y调制解调器的支持;
支持使用BOOTP或静态IP地址配置的网络启动;
移植redboot到stm32开发板
1.,搭建好ecos开发环境
2,打开ecos图形配置工具configtool,如下图所示。
下图中,左边窗口为ecos的配置项窗口,右边窗口从上到下分别为:冲突提示窗口、配置项属性窗口、配置项说明窗口。
3,设定ecos代码仓库(Repository)位置
获取ecos最新代码,
在ecos图形配置工具configtool界面中,点击Build->Repository,如下图所示。
配置好ecos代码仓库位置后,configtool会重新载入内容。
4,选择模板(Template)和目标(Target)及软件包(Package)
在ecos图形配置工具configtool界面中,点击Build->Templates,在Templates界面中,先选择目标板,即在Hardware中选择“ST STM3210E EVAL board”,然后选择模板即在Package中选择“redboot”,最后点击OK。如下左图尺毁所示。
点击OK后,可d出一个冲突提示按钮,如下右图所示。不过不要紧,点击Continue按钮即可,configtool会帮我们自动解决这些冲突的。
5. 导入redboot-ROM的最小配置
在ecos图形配置工具configtool界面中,点击File->Impor,如下左图所示,然后会出现如下右图所示的界面。
在上面右图界面中,去设定的ecos软件仓库的如下路径找到redboot-ROM的最小配置文件:
你的ecos软件仓库路径/ecos/packages/hal/cortexm/stm32/stm3210e_eval/current/misc
在该路径下有一个名为:redboot_ROM.ecm的文件,这个就是redboot-ROM的最小配置文件。ecos是一个可配置系统,配置后会产生一个后缀为.ecc的文件。而.ecm文件则是ecos的最小配置文件,与.ecc文件比较起来,.ecm文件去掉了.ecc文件中的注释,所以文件大小非常小。
导入后,会提示有冲突,如上述方法一样,点击continue让ecos的配置工具自动解决冲突。然后点击OK按钮,完成redboot_ROM最小配置文件的导入。
6.,设置串口波特率并保存配置
经上述步骤后,接下来我们确定下redboot的启动方式并设置debug串口的波特率。
在念唯ecos图形配置工具configtool界面的配置项窗口(左边的主窗口)中,依仔困培次找到:
eCos HAL—>Cortex-M Architecture—>Cortex-M3/-M4 STM32 Variant—>ST STM3210E EVAL Development Board配置项,如下图所示。
首先确定redboot的启动类型(上右图中的Startup type配置项),根据我们导入的最小配置文件,默认情况下是ROM,所以不需要修改,这里我们需要修改下串口波特率(上右图中的Console serial port baud rate配置项),修改为115200。
至此,我们完成了redboot的配置。配置完成后,在ecos图形配置工具configtool菜单栏中点击保存按钮,选择好路径,并拟定好配置文件的名称,我取名为redboot.ecc。
保存后,会在保存路径下产生两个文件夹,其中,xxx_build用于存放编译的目标文件;xxx_install存放最终产生的目标文件和库文件等(xxx表示你保存时取得配置文件名称),
7,编译
首先,确定你的编译器的位置。在ecos图形配置工具configtool界面中
设定编译器,在ecos图形配置工具configtool界面中,点击Build->Library或者直接按F7,开始编译。在configtool的底部窗口,可以看到编译进展,最后看到finish提示时,表示编译完成,如下图所示。
这时会在redboot_install文件夹下的bin目录下有目标文件
8.,烧写redboot.bin到stm32 CPU内部flash
接好J-Link,然后给板子上电,打开J-Link的J-flash ARM软件。
然后点击File->Open data file…,选择产生的redboot.bin文件,会提示你输入开始烧写地址。默认起始地址是0,由于STM32 CPU内部flash起始地址是0x08000000,因此,这里我们输入这个地址,设定后,点击OK按钮。如下图所示。
点击Target->Connect,连接J-Link,然后点击Target->Auto或者直接按F7开始烧写redboot.bin。
9. 启动redboot
烧写好redboot.bin后,就可以启动redboot了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)