在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 解決STM32調(diào)試,無(wú)法進(jìn)入main函數(shù)的問(wèn)題

            解決STM32調(diào)試,無(wú)法進(jìn)入main函數(shù)的問(wèn)題

            作者: 時(shí)間:2016-11-25 來(lái)源:網(wǎng)絡(luò) 收藏
            昨天調(diào)試STM32程序,以前使用的是MDK3.40的版本,把版本升了下級(jí),升到了MDK4.10,裝好后,一運(yùn)行,哈哈,新版本給人的感覺(jué)就是不一樣啊,很爽,較之前有很多改進(jìn),把自己以前的程序打開(kāi),編譯運(yùn)行發(fā)現(xiàn)程序調(diào)試時(shí)無(wú)法進(jìn)入Main函數(shù),弄了很久,很是郁悶啊,最后還是在ourdev的壇子里,找到了同樣問(wèn)題的解決方法,多謝ourdev,以下是壇子里面的帖子,我把他貼出來(lái)了.
            sdc666 :
            請(qǐng)問(wèn)高手,我在調(diào)試我的STM32F101c8t6時(shí),遇到一個(gè)問(wèn)題,因?yàn)槲乙{(diào)試串口,我在main.c中添加了#include,編譯可以通過(guò),但是當(dāng)我用jlink硬件調(diào)試時(shí),一開(kāi)始就停在了"0x08001460BEABBKPT0xAB";并且無(wú)法向下運(yùn)行.請(qǐng)問(wèn)高手,這個(gè)問(wèn)題的原因是什么?怎么解決?謝謝!
            _sys_open:
            0x08001450B50EPUSH{r1-r3,lr}
            0x08001452E9CD0100STRDr0,r1,[sp,#0]
            0x08001456F000FAF9BL.Wstrlen(0x08001A4C)
            0x0800145A9002STRr0,[sp,#0x08]
            0x0800145C4669MOVr1,sp
            0x0800145E2001MOVSr0,#0x01
            0x08001460BEABBKPT0xAB
            0x08001462BD0EPOP{r1-r3,pc}
            pldjn :
            應(yīng)該是項(xiàng)目設(shè)置的問(wèn)題,檢查一下你的設(shè)置.
            sdc666:
            pldjn你好,能詳細(xì)指點(diǎn)以下么?應(yīng)該怎樣設(shè)置?這個(gè)程序是我該的,本來(lái)是沒(méi)有#include,我添加串口后因?yàn)樾枰獦?biāo)準(zhǔn)庫(kù)函數(shù),所以才加上的.是不是還要設(shè)置編譯環(huán)境?謝謝.
            pldjn :
            你用J-Flash打開(kāi)你的HEX文件看看編譯的是否是對(duì)的.不用自動(dòng)下載使用J-flash燒進(jìn)去調(diào)一下試試.
            dragonwww:
            我也遇到同樣問(wèn)題,我是調(diào)用printf時(shí)出現(xiàn)的這個(gè)錯(cuò)誤,我已經(jīng)把putchar重定位了,不知道為何還是出錯(cuò),求解,THX!
            yugen:
            那是因?yàn)槟闶褂昧藀rintf之類的庫(kù)函數(shù),需要編寫_sys_exit()之類底層函數(shù)。照你的提示看,也許是_sys_open()沒(méi)寫。_sys_xxx之類的的只要寫個(gè)空函數(shù)就行了。
            dragonwww:
            toyugen:
            能否說(shuō)的再仔細(xì)些,如果自己編寫個(gè)空函數(shù)應(yīng)該放在哪里?函數(shù)定義格式是什么樣的呢?
            納悶的是以前也用過(guò)printf,沒(méi)出現(xiàn)這個(gè)提示啊。
            PZLPDY:
            5樓的應(yīng)該不是這樣吧?
            應(yīng)該是你沒(méi)有選中微庫(kù)造成的。這個(gè)問(wèn)題昨天我遇到過(guò)。在工程的設(shè)置選項(xiàng)里把微庫(kù)勾上就OK了
            dragonwww:
            toPZLPDY:
            蒼天啊,果然如你所說(shuō),把微庫(kù)勾上就OK了,奇怪了為什么以前用的的時(shí)候沒(méi)報(bào)錯(cuò)呢?以前也沒(méi)選微庫(kù)??!
            yugen:
            因printf()之類的函數(shù),使用了半主機(jī)模式。使用微庫(kù)的話,不會(huì)使用半主機(jī)模式,所以就沒(méi)有問(wèn)題。
            添加下面代碼,就可以使用標(biāo)準(zhǔn)庫(kù)了:
            #pragmaimport(__use_no_semihosting)
            _sys_exit(intx)
            {
            x=x;
            }
            struct__FILE
            {
            inthandle;



            };

            FILE__stdout;
            dragonwww:
            yugen是高手啊,再請(qǐng)教一下:
            1.何為“半主機(jī)模式”?與非半主機(jī)模式有何區(qū)別?
            2.你的這段代碼需要放在那個(gè)文件里?自己的main函數(shù)所在的文件嗎?
            3.看到代碼實(shí)現(xiàn)了_sys_exit,那我提示錯(cuò)誤的_sys_open()不用實(shí)現(xiàn)嗎?
            請(qǐng)指教,多謝!
            yugen:
            你說(shuō)的問(wèn)題都可以在"RealView?編譯工具庫(kù)和浮點(diǎn)支持指南"書中找到,網(wǎng)上有下,我就不復(fù)制了。書有中文的。realview編譯器有好幾本書,都有中文。


            關(guān)鍵詞: STM32調(diào)試main函

            評(píng)論


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

            關(guān)閉