新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于m0核移植ucosii時遇到的問題

        關于m0核移植ucosii時遇到的問題

        作者: 時間:2016-11-27 來源:網絡 收藏
        前些天,一網友在我i店里買了關于ucosii移植時遇到的問題,起初我也只是能順利的把ucosii移植到istm32上,然后能正常的啟動起來,然后就把自己的經驗掛到淘寶上分享了,結果還真有人求助。

        他告訴我,他的ucosii是從官網上下載下來的,按照別人的把core.c .asm cpu.c 3個文件改好了,但是還是啟動不了,我對M0并不十分了解,網友對ucosii的時鐘系統也不太了解,然后我又幫他解釋了一番,ucosii的系統時鐘是通過系統滴答的發生1s中斷產生的,。我提醒他先用定時器產生一個1s中斷,然后將OSTimeTick();這個函數加到中斷里去,但實際上還是有問題。接著,我讓他全部注釋的覅按這句話

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

        //void OS_CPU_SysTickHandler (void)
        //{
        // OS_CPU_SR cpu_sr;


        // OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR */
        // OSIntNesting++;
        // OS_EXIT_CRITICAL();

        // OSTimeTick(); /* Call uC/OS-IIs OSTimeTick() */

        // OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */
        //}

        并在 SysTick_handler()這樣寫

        {

        OS_CPU_SR cpu_sr;

        OS_ENTER_CRITICAL();

        OSTimeTick();

        OSIntExit();

        }

        這就是我剛才說的 系統1S中斷產生的回調函數。

        但是系統會卡在啟動代碼.s里如圖

        這個問題是因為在啟動代碼 里沒有加入 os_cpu_handlaer的啟動函數,否則os 系統也就是ucosii就會無法啟動的。加入即可。



        關鍵詞: m0核移植ucosi

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乌拉特中旗| 读书| 禄劝| 武山县| 玉树县| 靖西县| 呈贡县| 诏安县| 平和县| 莒南县| 阳东县| 同仁县| 墨竹工卡县| 呼伦贝尔市| 淮南市| 上饶县| 天镇县| 五大连池市| 通化县| 昌黎县| 白河县| 老河口市| 加查县| 漳平市| 温宿县| 龙陵县| 德昌县| 阜宁县| 通榆县| 木兰县| 长顺县| 介休市| 宁德市| 凌云县| 陆良县| 渭南市| 固原市| 临西县| 满城县| 普陀区| 乌拉特前旗|