欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4746|回復: 0
收起左側

關于UCOS-ii操作系統在M0上移植的若干問題!括弧--焦頭爛額!

[復制鏈接]
ID:82781 發表于 2015-6-13 16:32 | 顯示全部樓層 |閱讀模式
搞了三天的UCOS的移植,真是悲劇了,第一天忙著到處找源碼!第二天忙著搭建平臺,第三天開始調試,本想到會一帆風順,怎曾想出現了一個讓我很傻比的問題,那就是出現了一個異常 HardFault_Handler  ,這個異常,找資料啊看代碼,找資料啊看代碼,一天都在這樣循環著。這個異常網上說是堆棧溢出或者內存越界,開始我也把這兩句話封為這個毛病的要點,開始單步跟蹤。第一次跟蹤發現在加載main函數的時候PC指針直接彈入0X0000000,導致程序跳轉到起始地址,然后緊接著調到0X00000FC這個地址,這個地址就是HardFault_Handler 的入口地址,顯然,沒有棧溢出的問題,那么就是內存越界老?顯然也不成立,因為在bootlodaeli里我并沒有定義非法指針和數據,所以不會是這個問題!那又是什么問題呢?后來稀里糊涂的也不知道怎么搞的竟然可以加載MAIN函數,但是加載完了又跳到HardFault_Handler ,真他媽的悲劇啊,然后又是一通單步,結果是找到了出異常的地方在內核文件中的任務控制塊TCB處,初始化就緒表正常,一旦到了TCB鏈表池就會出現錯誤,很頭疼,開始鎖定數組越界問題!但是實在是沒數組或者指針沒有初始化,全部是正常的!他就是不好用!怎么辦?既不是內存越界也不是棧溢出(為了防止棧溢出我特意吧Stack_Size      EQU     0x00000800改成512字節),什么原因?。。。。。。。。。我估計應該是別的什么的,編譯器或者lin什么的吧!總之這個得要大神級別的人來解決吧!

下面貼出代碼出錯的段:
               MOVS    R1, #0
                STR     R1, [R0]               
               
                LDR     R0, =SystemInit
                BLX     R0
                LDR     R0, =__main
                BX      R0
第二處:
   ptcb1->OSTCBNext = (OS_TCB *)0;                              /* Last OS_TCB                        */
#if OS_TASK_NAME_SIZE > 1
    ptcb1->OSTCBTaskName[0] = '?';                               /* Unknown name                       */
    ptcb1->OSTCBTaskName[1] = OS_ASCII_NUL;
#endif
    OSTCBList               = (OS_TCB *)0;                       /* TCB lists initializations          */
    OSTCBFreeList           = &OSTCBTbl[0];

什么鳥問題呢??????繼續搞吧!白搭了!忙碌中。。。。。

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表