Thread 中讨论的其他器件:UNIFLASH
工具/软件:
您好、
我使用的是 AM263Px CC 评估板。 我使用的是 CCS 版本12.8.1、安装的 SDK 为 am263px_10_00_00_35。
和 EMI 数据 裸机上的 Enet LwIP HTTP 服务器(非 RTOS) 和 OSPI 闪存 IO 、我实施了一个 UDP TFTP 服务器。 它接收一个二进制文件并将其写入闪存。 现在、我在引导加载程序(SBL)中实现了该代码、以便能够更新本应运行的应用程序。 我选择了 sbl_ospi、因为它已经能够运行已刷写到 EVM 闪存中的应用程序。 我调用了新的引导加载程序 sbl_ospi_enet。 我向 sbl_ospi syscfg 中添加了 Enet、向源代码中添加了 TFTP 服务器。 引导加载程序等待运行之前刷写的应用程序(0x4b 0x01 0x20)的命令(与 SBL 一起) (1) 或刷写新新应用程序(0x4b 0x01 0x21)并覆盖现有应用程序 (2) 。 这在某些情况下有效。
- 只运行 nortos 应用程序。
我使用示例文件夹中的几个应用进行了测试。 其中一些可行、其他一些则不可行。
Nortos 应用程序 gpio_led_blink 和 hello_world:SBL 完成加载映像并切换到应用程序的过程。
FreeRTOS 应用 hello_worl:初始化内核 R5FSS0_0时、SBL 挂起。 (main.c 中的第177行) - 我使用 uart_uniflash.py 刷写 EVM。 SBL 的理念是在 SBL 找到并加载之前、在必要时覆盖刷写的数据(appimage)。 如果同时刷写了 sbl_ospi_enet 和应用程序、则引导加载程序根本不会运行。 如果仅刷写了 sbl_ospi_enet (无应用程序)、则引导加载程序会运行。 如果没有应用程序、(1)将无法再被选择或执行。 (2)工作如上所述。
我需要一些帮助来解决上述问题。 我能做到这一点吗? 我是否错过或误解了某些内容?
我遇到的问题是:
- 我必须将 tftp 服务器放在 main 中的什么位置?
- syscfg 中需要哪些 MPU ARMv7设置和存储器配置?
此致、
Wega.