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.

固件跳转保持GPIO不变

Other Parts Discussed in Thread: TMS570LS0914, HALCOGEN

我现在应用的是TMS570LS0914来开发Bootloader, 由应用固件跳到Bootloader或者由Bootloader跳到应用固件时可以保持 GIOB_7 和 HET1_0 (用作GPIO)脚高电平吗? 电路上没有外部上拉, 使用MCU来保持, 可行吗?

  • 请问您现在是哪种boot?SPI/UART?

    如SPI的操作说明

    After HDK reset, the start-up code copies the bootloader from Flash to SRAM, branches to the copy of the bootloader in SRAM, and checks to see if an application update should be performed by calling CheckForceUpdate(). If an update is not required, the application is called.

    The check for an application update consists of checking the magic word at 0x000017F0 and optionally checking the state of a GIO (GIOA Pin7 in the sample) pin. If either of these tests fail, then the application is assumed to be invalid and an update is forced. The GPIO pin check can be enabled with ENABLE_UPDATE_CHECK in the bl_config.h header file, in which case an update can be forced by changing the state of a GPIO pin (with the push button S1 on HDK ). If the application is valid and the GIO pin is not requesting an update, the application is called. Otherwise, an update is started by entering the main loop of the bootloader
  • 现在是使用CAN通信,通过F021的flash驱动刷新0x20000之后的应用固件区(0x0~0x1FFFF是Bootloader固件区)。跳转的时候需要保持GIOB_7和HET1_0为高电平, 这两个脚用作GPIO的功能。麻烦看一下能不能做, 谢谢!
  • 也就是说, 说明书中23.2描述的GIO的复位操作是必须要执行的吗?
  • 这种或许难以实现,还没遇到过这种案例
  • 现在是使用EEPROM来记录请求, 然后复位跳转了。就不管GPIO的事情了。
    测试下来TMS570的芯片(HalCoGen代码)在起始时做了大量的检查操作。包含复位操作。RAM初始化操作。