4个职位/0个新职位
最后一篇文章
唐吉龙
离线
最后一次见到:1年10个月前
已加入:2019-02-12 07:54
通用汽车公司

你好,
第二,第二,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三,第三。
MCU uart地址:0x6地址:fw,字节:CRC,CRC。
第五章,
size\u msb=(无符号字符)(文件大小/256);
size\u lsb=(文件大小%256);

字符校验和\u bin=0;
for(ret=0;ret<文件大小;ret++)
checksum_bin=checksum_bin^myfile[ret];

执行如下:
根@OpenWrt用法:/#/ble loadfw ble_app_barebone_585.bin
文件大小=16475(0x405b),大小=0x5b,大小=0x40
sh:写入错误:资源正忙
阅读数据:0x0
阅读数据:0x2
检测到DA1458x
阅读数据:0x6
正在上载。请稍候。。。
校验和\u bin=0x54,校验和\u da=0xb4
校验和。

设备:
胞苷
离线
最后一次见到:5个月2周前
工作人员
已加入:2017-12-14 02:48
你好,

你好,

crc(sdk5.0.4\DA1458x\u-SDK\5.0.4\projects\host\u-apps\DA1458x\proximity\reporter),spi引导(spi-boot):

/**
****************************************************************************************
*@brief用于计算启动映像CRC
*@param[in]length:图像的长度(32位字)
*@返回CRC校验和(1字节)
****************************************************************************************
*/
uint8计算crc(uint32长度)
{
uint32\t i;
uint32温度;
uint8\t循环冗余校验码;
crc=0xFF;
对于(i=0;i<长度;i++)
{
temp=GetWord32(程序t+4*i);
crc^=(0xFF&(温度>>24));
crc^=(0xFF&(温度>>16));
crc^=(0xFF&(温度>>8));
crc^=(0xFF&(temp));
}
返回crc;
}

唐吉龙
离线
最后一次见到:1年10个月前
已加入:2019-02-12 07:54
uart引导,AN-B

uart引导
CRC的计算方法是将每个连续字节与前一个值进行异或运算。初始CRC值为0x00。

宾。

胞苷
离线
最后一次见到:5个月2周前
工作人员
已加入:2017-12-14 02:48
你好,

你好,

第二次启动,UART启动:

\DA14585\u SDK\u 6.0.10.511\u 0\DA14585\u SDK\6.0.10.511\utilities\secondary\u bootloader

主要工程:

#支持ifdef UART\u
if(GPIO\u GetPinStatus(UART\u GPIO\u PORT,UART\u RX\u PIN)){
uart_initialization();//初始化uart和uart引脚
fw_size=FwDownload();//下载fw
uart_release();//释放uart并重置uart引脚
如果(fw\U大小>0){
from=(char*)(系统内存\拷贝\基地址);
to=(char*)(系统内存\基\地址);
对于(i=0;i
SetWord16(WATCHDOG_REG,0xC8);//200*10.24ms初始化有效时间!
SetWord16(RESET_FREEZE_REG,FRZ_WDOG);//启动WDOG
启动\运行\用户\应用程序();
}
}
#结束