This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

一直很疑惑28335的 Boot Loader

平时仿真时没有配置Boot ROM引导模式,就是GPIO84-87没有动过,那要是程序烧写进FLASH需要重新配置这些GPIO引脚变成Boot FLASH吗?需要人为的操作吗?期待您的解答,谢谢

  • tanson,

    在CCS仿真的时候,当程序加载到芯片后,CCS自动寻找main函数入口或是code_start入口,自动跳过了bootloader的过程,所以在仿真的时候看似不需要boot mode的设置,因为CCS的功能让芯片能够自动找到程序的入口了。而boot loader的功能其实也就是根据GPIO引脚状态找到应用程序的入口而已。

    但是,你在仿真的时候,如果因为看门狗产生复位,或是直接点击CCS的复位按钮,再按run,如果这时候GPIO没有配置为正确的引导状态,则芯片会运行不起来。

    所以在仿真的时候,如果要复位芯片,常用的是用reset cpu,然后restart,这样就跳过bootloader过程,由CCS找到应用程序入口。当然,最好还是设置GPIO的状态,程序如果是load 在flash,就boot to flash,如果在RAM,则boot to ram。

    一句话概括,仿真的时候,CCS可以屏蔽bootloader,自动找到函数入口。默认是程序load到memory时,或使用reset + restart。

    那么如果脱机跑的时候,就一定要配置正确的引导状态了,否则运行不起来。

    Eric

  • Eric

         非常感谢你的回答,这几天的问题基本上都是你在帮我解决,一直帮我进步,感激之情不易言表。

     

    由于以前没配置过引导方式,不知道要在程序的何处将GPIO电平做出相应改变呢?

  • tanson,

    bootloader判断GPIO引脚状态是在上电后,main函数之前,所以不能用软件设置,只能用硬件设置,在那几个GPIO引脚加上拉电阻。如果是boot to flash,则全部上拉电阻,如果是处于开发阶段或实验板,可以在这几个GPIO引脚处加一些跳帽,可以接低电平,也可以接高电平,这样就可以配置多种引导方式。但更多的是用boot to ram或boot to flash.有空可以看一下boot rom的user guide,就一目了然了。

    Eric

  • 明白了,哈哈,再次谢谢你