你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G0x0_OPT.FLM文件怎么在MDK工程里使用?有例程吗?

[复制链接]
huahuahnu 提问时间:2021-11-18 09:09 / 未解决
STM32G0x0_128.FLM文件可以在工程里直接添加实现代码的烧录调试,但是STM32G0x0_OPT.FLM不知道如何使用?MDK工程要怎么修改?有例程吗?



收藏 评论2 发布时间:2021-11-18 09:09

举报

2个回答
xmshao 回答时间:2021-11-18 16:31:04
你目的就是为了修改option字节,何不直接在用户代码里进行option编程呢。


在ARM KEIL的目录下可以找到这个文件,(Keil\STM32L0xx_DFP\2.0.1\MDK\Device\Source\ARM)打开后就是一个汇编文件,
针对Option字节的编程。个人认为实用性不大,你用它的话先得看懂它,然后自己具体调整。最后还要基于该文件做个工程
生成烧录算法文件,跟flash烧录算法文件一起使用。


内容就像下面样子:



; STM32L0xx_OPT.s: STM32L0xx Flash Option Bytes           




; Option byte organization

;-------------------------

;   Address     31:24] 23:16] 15:8] 7:0]

; 0x1FF80000       -     nRDP      -    RDP            (0xFF5500AA)

; 0x1FF80004     nUSER1  nUSER0  USER1  USER0           (0x7F8F8070)

; 0x1FF80008     nWRP1_1   nWRP1_0   WRP1_1   WRP1_0    (0xFFFF0000)

; 0x1FF8000C     nWRP1_3   nWRP1_2   WRP1_3   WRP1_2    (0xFFFF0000)

; 0x1FF80010     nWRP2_1   nWRP2_0   WRP2_1   WRP2_0    (0xFFFF0000)




;//  Flash Option Bytes

FLASH_OPT       EQU     1




......

RDP0             EQU     0xAA

RDP1             EQU     0x00

nRDP0            EQU     RDP0:EOR:0xFF

nRDP1            EQU     RDP1:EOR:0xFF




;//  Flash Write/Read Protection

;//    WRP1_0..WRP1_3

;//      Sector 0

;//      Sector 1

;//      Sector 2

;//      Sector 3

;//      Sector 4

。。。。。

;//      Sector 30

;//      Sector 31

;//   

WRP1_00           EQU     0x00

WRP1_01           EQU     0x00

WRP1_02           EQU     0x00

WRP1_03           EQU     0x00

nWRP1_00          EQU     WRP1_00:EOR:0xFF

nWRP1_01          EQU     WRP1_01:EOR:0xFF

nWRP1_02          EQU     WRP1_02:EOR:0xFF

nWRP1_03          EQU     WRP1_03:EOR:0xFF

;

;//    WRP2_0..WRP2_1

;//      Sector 32

;//      Sector 33

;//      Sector 34

。。。。。。

;//      Sector 44

;//      Sector 45

;//      Sector 46

;//      Sector 47

;//   

WRP2_00           EQU     0x00

WRP2_01           EQU     0x00

nWRP2_00          EQU     WRP2_00:EOR:0xFF

nWRP2_01          EQU     WRP2_01:EOR:0xFF

;//




......

                IF      FLASH_OPT  0

                AREA    |.ARM.__AT_0x1FF80000|, CODE, READONLY

                DCB     RDP0,  RDP1,  nRDP0,  nRDP1      

                DCB     USER0, USER1, nUSER0, nUSER1      

                DCB     WRP1_00, WRP1_01, nWRP1_00, nWRP1_01

                DCB     WRP1_02, WRP1_03, nWRP1_02, nWRP1_03

                DCB     WRP2_00, WRP2_01, nWRP2_00, nWRP2_01

                ENDIF




个人认为还不如直接根据需求进行Option编程来得直接而清爽。
huahuahnu 回答时间:2021-12-14 13:50:06

xmshao 发表于 2021-11-18 16:31
你目的就是为了修改option字节,何不直接在用户代码里进行option编程呢。</p>
<p>

感谢答复,编程确实可以,只是好奇这个OPT.FLM文件是怎么用的,或许可以在JFlash里使用?这样也可以不用写代码编程了,有弄错把芯片弄成砖头了

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版