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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]使用Keil的編譯環(huán)境下載,確實(shí)能夠下載,但是入口的地址是如下黃色的那行顯示所示,如果單步執(zhí)行(F11)或全速運(yùn)行(F5),程序始終在原位置不動(0x1FFF4252),如果強(qiáng)制的將PC指針的值和SP的值修改為0x8000000與0x2

使用Keil的編譯環(huán)境下載,確實(shí)能夠下載,但是入口的地址是如下黃色的那行顯示所示,如果單步執(zhí)行(F11)或全速運(yùn)行(F5),程序始終在原位置不動(0x1FFF4252),如果強(qiáng)制的將PC指針的值和SP的值修改為0x8000000與0x2000000,然后在點(diǎn)擊運(yùn)行,則能夠跑到main()函數(shù),再全速運(yùn)行,能夠看到客戶板子上的LED燈的閃爍。

但是如果不強(qiáng)制修改PC和SP指針的值,則程序不執(zhí)行。


所以問題就變成為什么程序下載進(jìn)去后的地址是0x1FFF4252?0x1FFF4252又是什么地址呢?查閱相應(yīng)的手冊,發(fā)現(xiàn)0x1FFF4252是處在了Systemmemory區(qū)域。

用萬用表測量了客戶板上的Boot0引腳的電平,發(fā)現(xiàn)電平不對,達(dá)到1.6V,這么高的電平可以被視為高電平了。



對照客戶的原理圖,原來Boot有上拉和下拉的電阻,焊接的時候?qū)⑦@兩個電阻都焊接上去了,去掉上拉電阻,使的BOOT0的引腳接地為低電平,再編譯下載進(jìn)入Keil的環(huán)境,程序能夠被正常執(zhí)行了。問題找到了。


對于最初的測試,硬件相同,軟件相同,然而IAR可以正常運(yùn)行,KEIL卻不能執(zhí)行,不解,可以IAR編譯環(huán)境的設(shè)置比較智能。



問題2:調(diào)試進(jìn)入HardFault_Handler函數(shù)

網(wǎng)上說了比如堆棧溢出,內(nèi)存溢出的原因,

參考:http://blog.csdn.net/u012075442/article/details/50931354

對照上述方法未解決。查閱發(fā)現(xiàn)有可能是stm32L系列使用內(nèi)部時鐘HSI的原因。

stm32L低功耗的芯片在配置系統(tǒng)時鐘之前,需要配置flash的訪問方式以ACC64以及LATENCY,還有內(nèi)核可調(diào)電壓的范圍VOS[1:0]。否則的話,連最高頻率32MHz都無法作為系統(tǒng)時鐘。

轉(zhuǎn)自:http://bbs.eeworld.com.cn/thread-490070-1-1.html

將下面幾行代碼添加到systeminit函數(shù)的開頭。

FLASH_ReadAccess64Cmd( DISABLE);//系統(tǒng)默認(rèn)是32位訪問,根據(jù)情況,可以配置為64位
FLASH_SetLatency(FLASH_Latency_0); //FLASH zero Latency cycle
//使能PWR時鐘
SET_BIT(RCC->APB1ENR, RCC_APB1ENR_PWREN);
while(!READ_BIT(RCC->APB1ENR, RCC_APB1ENR_PWREN))
__NOP();
//配置內(nèi)核電壓,CPU為高性能。本例中系統(tǒng)時鐘最高16MHz
PWR_VoltageScalingConfig(PWR_VoltageScaling_Range1);


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