我在生成 multi bin 文件的时候没有出现错误。0x8000 、0x13000和 0x1F000这三个的地址都能读到相应imge和header信息,DEBUG调试second_bootloader读取 FLASH 0 地址时就卡在那里了似乎一直在等待,以下为读取读取Flash 0 时的片段代码。 当我用SmartSnippets读取ADDRESS 0 处是有70 50 信息的。
我现在用的是580的芯片和另外的FLASH芯片,spi引脚和默认的spi启动引脚不同。OTP中烧录secondary bootloader 代码是往FLASH 0 处写secondary bootloader?那我在生成 multi bin 文件的时候就把secondary bootloader放在地址0了就可以了吗?
你好,
能否再描述清楚你的目的?
用 580 做烧录器?还是想对 580 烧录 FLASH?
你好,
是想对580烧录flash
你好,
关于这个问题,你有几个帖子,我们集中在这里讨论吧。
你是在用 make image 工具,生成 multi bin 文件的时候遇到问题了吗?
如果是,需要检查:
1. FLASH 0 地址处(包含 70 50 头),或者 OTP 中(不包含 70 50 头),有 secondary bootloader 代码
2. 0x8000 处有 70 51 和 image 1
3. 0x13000 处有 70 51 和 image 2
4. 0x1F000 处有 70 52 header,并且 header 中有 0x8000 0x13000 数据
580 芯片建议在 OTP 中烧录 secondary bootloader
你好,
我在生成 multi bin 文件的时候没有出现错误。0x8000 、0x13000和 0x1F000这三个的地址都能读到相应imge和header信息,DEBUG调试second_bootloader读取 FLASH 0 地址时就卡在那里了似乎一直在等待,以下为读取读取Flash 0 时的片段代码。 当我用SmartSnippets读取ADDRESS 0 处是有70 50 信息的。
我现在用的是580的芯片和另外的FLASH芯片,spi引脚和默认的spi启动引脚不同。OTP中烧录secondary bootloader 代码是往FLASH 0 处写secondary bootloader?那我在生成 multi bin 文件的时候就把secondary bootloader放在地址0了就可以了吗?
谢谢!
你好,
是的,在生成 multibin 的时候,要将 secondary bootloader 烧到地址 0 FLASH、 70 50 header 之后
你好,
这个步骤我有
你好,
抱歉之前没看清你的一个情况:“spi flash 引脚和默认的不同”
在这种情况下,你必须修改 secondary bootloader 来对你的 flash 引脚进行适配;并且需要把 secondary bootloader 烧录到你的 OTP 中。
上电经历的流程应该是:
1. 芯片硬件初始化
2. 芯片 ROM boot 运行,发现 OTP 中有代码(secondary bootloader),将其拷贝到 RAM 中运行
3. secondary bootloader 读取 product header,获取 image 1/2 的 image header 的地址
4. secondary bootloader 决定拷贝 image 1,从 image 1 header 中获取到 image 的相关信息,如 image size
5. secondary bootloader 将 image 1 拷贝到 RAM 中并运行
你好,
我已经修改了FLASH引脚,也把secondary bootloader放在了FLASH 0 , 这次的secondary bootloader烧录到 OTP 中是烧录到otp image 里面吗?
还有我想请问, 蓝牙的时钟晶振引脚排线错误会影响蓝牙的广播吗,比如广播地址会发生错误?
谢谢!
你好,
是的,secondary boot 烧录到 OTP image 区域。
广播地址错误,具体是指什么?晶振异常会到导致无广播或连接不稳定