接上篇:stm32移植ecos #4,移植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了,如下图所示。
到此,初步完成了redboot的移植。别看上面步骤很多,实际上很简单,只是说起来比较繁琐些。如果你按照上述的步骤进行操作,一般不会出现问题,可以很顺利的看到redboot的启动信息。
推荐阅读相关文章:
- stm32移植ecos #6,redboot的疑问和问题,redboot是必需的吗?
- stm32移植ecos #4,移植redboot(ROM启动方式)上篇
- stm32移植ecos系列文章归档
- stm32移植ecos #12,redboot引导启动flash中的应用程序映像文件(上)
- stm32移植ecos #9,移植ecos并成功运行helloworld程序,使用redboot引导运行内存中的helloworld程序
- stm32移植ecos #21,触摸屏tsc2046驱动移植
- stm32移植ecos #13,redboot引导启动flash中的应用程序映像文件(下)
- stm32移植ecos #11,使用自己的模板(Template)
你好 博主 十分感谢你的教程 但是在redboot烧进stm32板子以后 串口收到了redboot的返回信息 但是无法用超级终端输入任何指令 请问是什么情况
请问我按照教程来,为什么没有出现reboot启动这个界面呀?
我在编译redboot时遇到如下问题,不知为何?
/opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/cc1.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
/opt/ecos/ecos-3.0/packages/pkgconf/rules.mak:89: recipe for target ‘src/hal_misc.o.d’ failed
/opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/cc1.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
/opt/ecos/ecos-3.0/packages/pkgconf/rules.mak:89: recipe for target ‘src/cortexm_stub.o.d’ failed
/opt/ecos/gnutools/arm-eabi/libexec/gcc/arm-eabi/4.6.3/cc1.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
/opt/ecos/ecos-3.0/packages/pkgconf/rules.mak:119: recipe for target ‘src/context.o.d’ failed
make[1]: *** [src/hal_misc.o.d] Error 1
make[1]: Leaving directory ‘/home/YG/ecos/stm32/redboot/readboot_build/hal/cortexm/arch/v3_0’
make[1]: *** Waiting for unfinished jobs….
makefile:15: recipe for target ‘build’ failed
make[1]: *** [src/cortexm_stub.o.d] Error 1
make: Leaving directory ‘/home/YG/ecos/stm32/redboot/readboot_build’
make[1]: *** [src/context.o.d] Error 1
make: *** [build] Error 2
请问你解决了吗?我现在刚开始,遇到了这问题。
能不能留个联系方式!很多问题想请教啊!
請問最後一個畫面是終端機的畫面嗎?我照著您的步驟將 ecos 移植到 stm32f107 (沒有外部 RAM)上,已經編譯成功,但燒錄後終端機都沒反應,不知道是哪裡有問題。
能不能留个联系方式!我也在折腾这个!
我暫時放棄 stm32f107 的移植,功力還不夠…
暫時在百為 stm3210e 的板子上試,初步很順利,不過要移植 dm9000 時,問題很多
可能會去弄一塊跟版主一樣的安富萊板子來試
我的 qq 1502234424
个人觉得没必要再花钱买板子了!
在一块板子上弄不好,其它也差不多,而且对自己的成长也不利。
调试就是这样,需要有耐心。
你可以加eCos技术群:144940146
redboot和ecos内核怎么调试?
可用GDB调试,J-LINK更方便,不过,我一般习惯于用printf方法调试