请教:擦除了一个函数,重启就不再工作了

2020-01-01 17:41发布

随便写了一个很简单的函数,将其编译在一个特定的页
1.此页只有它,无其它内容;
2.板子重启后,也不会被调用(特定条件才会被执行)

用烧写软件,将此页删除,程序立即死掉(可以理解)

断电重启,发现板子还是死掉的,这一点很难理解,大家有什么见解?谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
41条回答
popo_new
2020-01-05 17:20
落叶随风 发表于 2017-1-7 20:44
楼主,我不知道你擦除的那个程序有多复杂,我自己做了个简单的测试,擦除后重启也没问题的,不知道是不是太 ...

.sct文件的语法,一直不太懂,假如以你的文件为例,希望将func_test编译到0x0803E000处,应该如何修改;

附我的sct(绝对定位成功,就是删除这段flash后,会进入hardfalut中断)

绝对定位的函数:void sec01(void)__attribute__((section("sec01")));

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00040000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00040000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
     sec01 0x0803E000 FIXED 0xffff   
   {
      sec01.o (sec01)     
    }
  RW_IRAM1 0x20000000 0x0000C000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

一周热门 更多>