STM32G030烧录后使⽤keil5进⼊dubug模式,不能跳转到main函数正常运⾏
关于标题提⽰问题,了好久才到问题在哪⾥,分享给⼤家,防⽌后来⼈花费⼤量时间查这个问题 STM32G系列是ST公司这两年新推的芯⽚,相对于STM32F系列有了很多地⽅的更改。个⼈感觉这些更改有些地⽅⽐较好使,⽐如增加了DMAMUX外设,DMA通道不在和各个外设对应死,很⽅便分配通道和外设的对应关系;但是有些地⽅修改的就不怎么合理了,⽐如管脚数⽬较少的芯⽚,直接将boot的启动区域修改为了由内部的选项字节位来进⾏决定,⽽不再是由外部的boot0管脚电平状态决定,当然这个可以修改,但是凭空多了很多⿇烦事。 在G系列的芯⽚上多了⼀个Empty Check位,⽤于检测芯⽚中是否有程序。当检测到程序中没有程序的时候,可以直接通过串⼝烧录程序,这样省去了拉⾼boot0引脚的操作,省去了⽣产时候的⿇烦。但是在进⾏KEIL5调试的时候,坏就坏在了这⾥。直接进⼊debug,会被认为是在串⼝烧录模式中,所以始终是运⾏不到主程序中的。如图中所⽰:运⾏的地址为0x1FFF19A4,查询⽤户⼿册,该处地址对应的区域为system memory区域,说明程序是运⾏在官⽅固化的boot loader程序中。 解决办法:重启上电就⾏了,这个问题只针对第⼀次烧录的新芯⽚,或者是进⾏过全擦的新品