新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IAR調(diào)試EFM32單片機(jī)時(shí)的一些技巧

        IAR調(diào)試EFM32單片機(jī)時(shí)的一些技巧

        作者: 時(shí)間:2018-12-29 來(lái)源:網(wǎng)絡(luò) 收藏

          4)關(guān)于Call Stack(在工程中View>Call Stack)

        本文引用地址:http://www.104case.com/article/201812/396197.htm

          如下圖:

          


          集成環(huán)境產(chǎn)生大量的支持信息,這允許調(diào)試過(guò)程中在沒有運(yùn)行損失的情況下顯示完整的函數(shù)調(diào)用鏈。這通常會(huì)幫助我們確定目前函數(shù)的上下文,跟蹤變量和參數(shù)中的不正確值的來(lái)源從而定位出現(xiàn)的問(wèn)題。

          5)EFM_ASSERT宏的合理應(yīng)用

          的CMSIS庫(kù)中有一個(gè)宏被大量的應(yīng)用,它的名字叫EFM_ASSERT。這個(gè)宏應(yīng)用了2個(gè)參數(shù),一個(gè)是__FILE__,一個(gè)是__LINE__,這在中分別表示文件名和文件內(nèi)的行號(hào)。這2個(gè)參數(shù)可以直接告訴我們出現(xiàn)問(wèn)題的文件和所在的行。

          以下通過(guò)一個(gè)具體的代碼來(lái)看看以上提到的幾點(diǎn)的應(yīng)用。

          


          為了演示gpioSetup內(nèi)部的問(wèn)題,我們可以把程序調(diào)試的起點(diǎn)直接設(shè)置到gpioSetup,如下圖:

          


          然后全速運(yùn)行程序,發(fā)現(xiàn)程序停在了assertEFM函數(shù)內(nèi)部,通過(guò)View>Locals,如下圖:

          


          可以看到問(wèn)題出在em_gpio.c的270行,該行正是GPIO_PinModeSet函數(shù)的第一個(gè)語(yǔ)句。

          我們?cè)偻ㄟ^(guò)View>Call Stack,如下圖:

          


          可以快速的定位到問(wèn)題出在以下位置,如下圖:

          


          作為主推低功耗的系列單片機(jī),想要最終實(shí)現(xiàn)低功耗,除了硬件本身支持之外,合理的代碼也是很重要的。通過(guò)不斷的調(diào)試,我們可以更加準(zhǔn)確的把握這一系列的單片機(jī),也可以掌握很多的調(diào)試技巧,希望以后有更多的技巧分享給大家。


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: IAR EFM32

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 河南省| 永平县| 武定县| 万山特区| 合江县| 平江县| 星子县| 平安县| 梨树县| 宿松县| 巩留县| 昔阳县| 扶沟县| 资源县| 黑水县| 遵义县| 遵化市| 高平市| 阜城县| 什邡市| 浙江省| 常熟市| 河东区| 湘潭县| 海淀区| 乐山市| 平谷区| 宝丰县| 萝北县| 安多县| 漳浦县| 镇原县| 建阳市| 道孚县| 和田市| 公主岭市| 施秉县| 错那县| 旺苍县| 和平县| 兴业县|