求大神回复下,8051U 用那个来验证呢,
8位模式用8h,32位模式用32g 官网软件示例里是传统方法,Ai8051U特有的用户系统区可以看下这篇帖子:
https://www.stcaimcu.com/thread-15517-1-1.html ercircle 发表于 2025-5-30 08:56
官网软件示例里是传统方法,Ai8051U特有的用户系统区可以看下这篇帖子:
https://www.stcaimcu.com/thread- ...
DWORD xdata DfuFlag _at_ 0x1ffc;这个是STC32G8K的。
DWORD xdata DfuFlag _at_ 0x7ffc; 8051是32K ,是这样子改动么
nqbkaqkt 发表于 2025-6-3 10:51
DWORD xdata DfuFlag _at_ 0x1ffc;这个是STC32G8K的。
DWORD xdata DfuFlag _at_ 0x7ffc; 8051是32K , ...
要放末尾的话可以这样改,注意同时修改ISP和APP地址 ercircle 发表于 2025-6-3 10:55
要放末尾的话可以这样改,注意同时修改ISP和APP地址
void dfu_check()
{
P2M0 = 0x00; P2M1 = 0x00;
P3M1 &= ~0x08;
P3PU |= 0x08;
_nop_();
_nop_();
_nop_();
_nop_();
delay();
if ((DfuFlag != DFU_TAG) &&
(*(BYTE code *)(LDR_SIZE) == 0x02) &&
(*(WORD code *)(LDR_SIZE + 1) >= LDR_SIZE + 3))
{
P3M1 |= 0x08;
P3PU = 0x00;
((void (far *)())(0xff0000 + LDR_SIZE))();
}
P23 = 0;
P3M1 |= 0x08;
P3PU = 0x00;
DfuFlag = 0;
}
是同时改了的,但是第一次就直接进入if这个判断里面了,导致没法下载,这个是怎么回事呢?
nqbkaqkt 发表于 2025-6-3 11:29
void dfu_check()
{
P2M0 = 0x00; P2M1 = 0x00;
是从App跳转过来吗?还是首次烧录
首次烧录同时烧录了App和Isp?
从App跳转过来前未给DfuFlag 置位? ercircle 发表于 2025-6-3 11:31
是从App跳转过来吗?还是首次烧录
首次烧录同时烧录了App和Isp?
从App跳转过来前未给DfuFlag 置位? ...
忘记说了,是首次下载,只下载了ISP
nqbkaqkt 发表于 2025-6-3 11:39
忘记说了,是首次下载,只下载了ISP
参考此视频先跑通,再修改试试。
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid=10139&pid=120384 ercircle 发表于 2025-6-3 11:54
参考此视频先跑通,再修改试试。
https://www.stcaimcu.com/forum.php?mod=redirect&goto=findpost&ptid ...
用USB能首次能下载了,但是UART还是不行
页:
[1]
2