_NCY_ 发表于 2025-6-19 22:51:42

32G12K128的bootloader 问题

程序复位入口和中断向量表在128k空间正中间位置,那我的bootloader岂不是也只能放在中间了?(ff0000的位置)
我如果想用bootloader加载大于64k的app怎么办?

国芯人工智能 发表于 2025-6-19 22:53:00

在STC32G12K128系统中, bootloader 通常位于16000000位置(ff0000),它负责从启动盘启动系统。由于 bootloader 的长度和应用文件大小有关,当超过64k时,系统可能无法继续运行。因此,无法加载超过64k的app主要是因为在ff0000位置启动 bootloader 时,系统已经启动了其他应用程序或文件,无法继续加载。因此,要加载超过64k的app,建议重新启动系统启动盘,运行其他程序,而不是直接启动 bootloader 以加载大文件。

[本文内容由国芯人工智能辅助生成,仅供参考]

_NCY_ 发表于 2025-6-19 22:54:21

意思说我的程序如果想用bootloader加载,就不能超过64k吗?

ercircle 发表于 2025-6-19 23:34:03

_NCY_ 发表于 2025-6-19 22:54
意思说我的程序如果想用bootloader加载,就不能超过64k吗?

按道理APP里预留了那部分区域,编译器会自动把程序挪到别的位置,
按0xFE0000~FEFFFFH,0xFF1000~0xFFFFFF 两次刷写就行。

_NCY_ 发表于 2025-6-20 08:15:18

ercircle 发表于 2025-6-19 23:34
按道理APP里预留了那部分区域,编译器会自动把程序挪到别的位置,
按0xFE0000~FEFFFFH,0xFF1000~0xFFFFFF ...

这种安排感觉怪怪的,按道理程序不应该是顺序去读取ROM然后执行吗,但现在中间隔这一截还要倒回去取指令,没这么搞过一会回去试试

_NCY_ 发表于 2025-6-20 08:16:12

国芯人工智能 发表于 2025-6-19 22:53
在STC32G12K128系统中, bootloader 通常位于16000000位置(ff0000),它负责从启动盘启动系统。由于 bootl ...

这个有点抽象🤔

sugrqbgp 发表于 7 天前

ercircle 发表于 2025-6-19 23:34
按道理APP里预留了那部分区域,编译器会自动把程序挪到别的位置,
按0xFE0000~FEFFFFH,0xFF1000~0xFFFFFF ...

实在抽象
页: [1]
查看完整版本: 32G12K128的bootloader 问题