4个帖子/ 0新
最后一篇
GGQ_IN.
离线
最后一次露面:7个月1周前
加入:2019-07-23 04:41
Spota中间二次引导的地址设置问题

你好,

在次级引导加载程序工程中,将图像加上到sram时适用于support_an_b_001不行能,如果使能就是otp中加吗?

从spi flash中加和使能support_an_b_001有不错?

如果我想把图像标题和产品标题的地址不行用0x7052 0x7051的话能能实现?

/ **************基于AN-B-001的图像/快引导程序部分************** /
//如果是定义它
//如果在SPI闪存中刻录基于AN-B-001的图像,并从OTP运行引导加载程序
#undef support_an_b_001 //为辅助引导加载程序启用它

//从spi flash中加数数如下:

int spi_loadActiveImage(void)
{
//启动SPI接口
spi_flash_peripheral_init();// SPI GPIO接口接口引脚初始化
SPI_FLASH_RELEASE_FROM_POWER_DOWN();//如果闪光灯已设置为应用程序,则需要

#ifdef support_an_b_001.
UINT8 AN001HEADER [AN001_SPI_HEADER_SIZE];
//检查AN-B-001标头
spiflashread((unsigned long)&An001Header,(unsigned long)0,(unsigned long)an001_spi_header_size);
if(AN001HEADER [0] == 0x70 && AN001HEADER [1] == 0x50){//如果引导加载程序从SPI Flash运行,则必须禁用它
spiflashread(sysram_base_address,(unsigned long)an001_spi_startcode_position,(unsigned long)(AN001HEADER [6] << 8 | AN001HEADER [7]));
返回0;
}
别的
{

#f定义(allow_no_header)

//从内存偏移0加载0x7f00字节0。
spiflashread(sysram_base_address,0,0x7f00);
返回0;

#endif //定义(allow_no_header)
}

//在SPI Flash中没有找到AN-B-001有效图像。返回错误。
返回-1;
#别的
spi_flash_size_init();//读取制备ID,配置spi flash大小
返回loadActiveImage();//加入img.
#万一
}

设备:
cyibin.
离线
最后一次露面:8个月2周前
职员
加入:2017-12-14 02:48
你好,

你好,

580芯片内部有一圈靴子,

ROM靴子的功能当时ootp中是有有色的,有则则代码加入到ram中间行行,无则会去各口(UART,SPI奴隶,SPI Master,IIC等)去去新加载

我们可以将次级引导加载程序放在OTP(闪光行行)中,则

芯片上电器,将次级引导加载程序加入到ram中行行,功能是:

1.到指定的地址(该地址可自行)找到产品标题

2.解析产品标题,获知图像1标题和图像2标题的信息

3.将有效的图像加入到ram中际行

使能了an-b-001和不统称的区别,仅是加入固件的方便,去去深别什么意义;建议按照默认的,不使即可。

产品标题,图像标题,图像的起始地址等的修改,可通过通信修改次级引导加载程序的源码来实现。

GGQ_IN.
离线
最后一次露面:7个月1周前
加入:2019-07-23 04:41
谢谢您

谢谢您

cyibin.
离线
最后一次露面:8个月2周前
职员
加入:2017-12-14 02:48
不要〜

不要〜

主题锁定