日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]問題一、上電程序跑飛或者運(yùn)行幾步程序跑飛,IAR提示堆棧溢出。1、首先確認(rèn)程序入口地址。NVIC_Configuration();// 嵌套向量中斷控制器配置 。我這里是STM32f100c8t6b芯片。在IAR OPTIONS->C/C++ Compiler->Preproce

問題一、上電程序跑飛或者運(yùn)行幾步程序跑飛,IAR提示堆棧溢出。

1、首先確認(rèn)程序入口地址。NVIC_Configuration();// 嵌套向量中斷控制器配置 。我這里是STM32f100c8t6b芯片。

在IAR OPTIONS->C/C++ Compiler->Preprocessor 里面定義了VECT_TAB_FLASH 這樣程序入口地址就是0X08000000+0X3000(既0X08003000)。這里為什么是0X08000000呢因?yàn)镾TM32主程序存儲(chǔ)地址是從0X08000000開始,加上0X3000是為了用戶引導(dǎo)程序預(yù)留一段空間。不然每次一上電就跑程序沒有引導(dǎo)程序是不太現(xiàn)實(shí)的吧。不過測試的時(shí)候無所謂應(yīng)該吧。

2、IAROPTIONS里面設(shè)置好程序下載地址。


這次是在Linker->Config 下面打鉤后點(diǎn)Edit 跳出上面對話框,第一個(gè)Vector Table 就是向量表起始位置,這里根據(jù)第一步設(shè)置向量表的起始地址。

3、下載編譯



可以看到main 函數(shù)入口地址是0X08000d42開始。為什么不是0X08000000呢?因?yàn)閙ain函數(shù)執(zhí)行之前還有一些變量、函數(shù)的定義,所以main不是從0X08000000開始的。



STM32指導(dǎo)手冊中有存儲(chǔ)器組織介紹,我們的程序應(yīng)該寫在上圖主存儲(chǔ)塊位置??梢姷降刂氛檬?X08000000 開始的,共有128個(gè)Sectors(扇區(qū)),每個(gè)扇區(qū)1K字節(jié),共128K,中等容量的芯片。

結(jié)果:下載后程序沒有再跑飛,之前貌似是程序?qū)懙搅藙e的地址,好像是寫到了RAM區(qū),這個(gè)芯片RAM才8K不溢出才怪呢。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉