FR8016HD芯片
-
@felix-yang 你好很感谢你的回答。事情并没有那么简单。我使用了串口烧录供电。但是复位键不管用在你们最新得开发板。当我做了如图中动作后,复位键起作用了,我能烧录了

-
@felix-yang 我还有一个问题。就是官方SDK是使用ROM中得BOOT和BLANK A 和BLANK B的方式去升级。但是我不能使用你们的BOOT。基于产品协议方面的和一系列背景下。我希望开机的时候BOOT,然后我得BOOT跳转到APP。你能理解我意思吧Flash (1MB): 0x01000000 - 0x01100000
区域 地址范围 大小
BOOT引导程序 0x01000000 - 0x01008000 32KB
APP主固件区 0x01008000 - 0x01048000 256KB
APP参数存储区 0x01048000 - 0x01049000 4KB
APP参数备份区 0x01049000 - 0x0104A000 4KB
固件DFU标志区 0x0104A000 - 0x0104B000 4KB
用户存储区 0x0104B000 - 0x0105B000 64KB
OTA临时缓冲区 0x0105B000 - 0x0109B000 256KB
预留扩展区 0x0109B000 - 0x010FD000 392KB
BLE绑定信息 0x010FD000 - 0x010FE000 4KB
BLE远端服务缓存 0x010FE000 - 0x010FF000 4KB
跳转表/静态密钥 0x010FF000 - 0x01100000 4KB。大概我项目内存分配这样。我查看了手册跟SDK都无法从我得BOOT跳转到APP。这款芯片支持这么做吗。原谅我不太会描述
-
@romai 在附上我添加的一些LOG

-
-
@zr 之前我问了芯片代理商,群里有一个技术支持说(不支持)。他只会一个劲得发SDK里面得文件给我,但是这些文件并不能解决我得问题。现在看你的意思是能支持我去这么做?如果你愿意回答一下我遇到得具体信息,那么我将会很快能适配成功,并且产品全面替换成这个芯片了。
-
@zr 1:目前Flash布局是BOOT放在0x01000000占128KB用来做DFU,需要跑我司协议,APP放在0x01020000占256KB,APP链接地址也是0x01000000,靠remap映射过去。
2:正常启动流程:ROM加载我的BOOT → BOOT校验APP → 跳转到APP运行。OTA升级流程:APP通过BLE把新固件下载到备份区 → 重启 → ROM加载BOOT → BOOT把备份区覆盖到APP区 → 再重启 → ROM加载BOOT → BOOT跳转到APP完成升级。
3:目前现在卡在"BOOT跳APP"这一步,搞了快二十轮了,核心问题两个:
第一个,remap设完之后不管怎么复位都被清掉了。platform_reset_patch试了、WDT试了、ARM的VECTRESET也试了,remap_length复位完都是0。我还往port_pull(0x50000020)写了个固定值0xA5A50001,复位完读回来是0xFFFFFFFF,确认整个system_regs都被硬件清了。SDK注释里说"remap在warm reset后保持",但我实测不是这样,不知道是我理解错了还是跟芯片版本有关。
第二个,我试过不复位直接软件跳转到ROM的Reset_Handler(0x00000821),remap确实能保持,但ROM只打印一个"freqchip"就卡死了,正常上电是两三个然后进应用。中断、定时器、BLE基带复位、EM清零、UART FIFO、FPB、VTOR、时钟寄存器我都恢复了,还是不行。
有个有意思的现象:用VECTRESET的时候,上电后第一次ROM能正常跑起来(两个freqchip然后正常加载了BOOT),但紧接着第二次就一个freqchip卡死了。我怀疑ROM在SRAM里有内部变量,跑了两轮BOOT之后SRAM被污染了ROM就起不来。
如果可以希望回答我得问题- remap到底能不能跨复位保持?什么条件下能保持?
- SDK的OTA做完platform_reset_patch复位之后,ROM是怎么知道要切到另一个bank的?是靠remap还是PMU寄存器还是flash里的什么标志?
- ROM启动的时候SRAM里有没有什么保留区域不能碰的?我scatter文件用了整个0x20000000开始的SRAM,是不是覆盖了ROM自己的东西。
- 我这种独立Bootloader的需求(自定义DFU协议、防盗版校验),在FR8016HD上有推荐的做法吗?还是说这个芯片不支持独立Boot,必须用SDK内置OTA?
- 我BOOT的image_size是0x20000,APP的是0x40000,大小不一样,ROM的双bank能处理吗。让ROM得BOOT来实现开机进入我得BOOT还是我得APP。当然如果
能不需要复位,ROM 中得BOOT 。跳转到我得BOOT。然后我得BOOT跳转到 APP 这样更好了,
-
@zr 我会同步去看看GPIO得例程。同时等待你具体回答我得问题。十分感谢
-
@zr 我手头的SDK文件夹是 fr801xh_SDK_1043bb7。我没找到这个GPIO例程。我得芯片是fr8016HD.是你们内部的另一版SDK吗。你能给我链接下载吗。
我看你们图片 好像不需要 remap,不需要重进 ROM,不需要任何复位。直接跳,太棒了,我要想看 app_boot_retarget 怎么用的,BOOT 和 APP 两边的 scatter 文件怎么配的。
-
-
@romai 直接用从机例程也行,APP的sct文件中需要设置好代码在ROM中的起始位置
-
@zr 能直接给我SDK,还有告诉我例程名字路径吗。事实上,我已经遍历了我手头这个fr801xh_SDK_1043bb7 sdk 的所有例程了。
-
@zr 我们有了成熟的产品了。只是量大之后考虑到降本,NOR芯片替换成这款,之前板子没到的时候已经看着手册驱动,蓝牙部分代码都更换好了,配置好了。只是没想到板子到了跑起来并不顺利
