国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Harmony Configurator配置編程教程及試驗

電子工程師 ? 來源:網絡整理 ? 2018-02-01 03:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

首先下載官方的開發工具,包括MPLAB、XC32、Harmony,但是要想在MPLAB中創建Harmony的工程,得按照help_harmony_vol_I.pdf中的說明,先在MPLAB中安裝harmony的plug-in。

1

接下來進入我們的主題——殺雞就要用牛刀,點燈怎么用牛刀呢?那就把uCOS跑起來吧,在任務中去點燈!

原本的計劃是拿Micrium官網PIC32的BSP包過來移植,但是簡單地看了看Harmony的介紹文檔之后,發現它竟然支持常用的幾款RTOS,其中就有uCOS-III,隨即決定用Harmony創建uCOS的工程。創建工程、配置系統時鐘這兩步和參考文章中的方法都一樣,不羅嗦了;接下來開始就要自己配置Harmony Configurator了

1. 在Options中將Third Party Libraries中的uC/OS-III打開

2

2. 在_SYS_Tasks中點燈,后面的延遲1000個tick對于系統的默認配置來說就是延時1秒

3

然后我就發現沒有其他需要配置的了,難道移植uCOS的工作就這么結束了?這么簡單?不可能吧???趕快生成代碼、編譯、加載到板子上跑一下,果然沒那么順利,燈不閃。。。沒辦法,只能debug定位了。好在板子上自帶jtag調試模塊,打開MPLAB的debug功能,發現板子死在這兒了,異常!!!估計又得調一陣了。。。

4

不得不說MPLAB的調試功能還是相當強大的,Call Stack里還能找到發生異常的點,竟然在kernel中死了,按說uCOS的kernel已經很成熟了,不應該出這種低級問題

5

在前一句打個斷點看看異常是怎么發生的,結果令人詫異:就在給*p_ts賦值的時候發生了異常!這就是個局部變量啊,怎么能導致異常呢,看看它的地址確實有些詭異

6

翻開PIC32MX470的芯片手冊,找到芯片的memory map,發現0x9D0035FC竟然是Program Flash空間的地址,就這么用指針賦值的話肯定非法,可是p_ts是什么時候變成的這個值呢?

7

再仔細往前找,發現在發生異常前kernel有發生過調度,難道是調度之后寄存器恢復錯了?再跟下去發現確實是這樣,只要os調度后p_ts就不對了。我們知道uCOS的任務現場是存在棧中的,難不成有棧越界?工程里又沒什么應用代碼,應該不是應用代碼的問題,那會不會是配置的問題呢?查了下配置默認的最小堆棧size是64,系統中除了idle任務的堆棧是64,其他的都至少是512。MIPS和ARM不一樣,有32個通用寄存器,難不成64的堆棧size對保存現場來說太小了?改成128試試

8

修改之后重新生成代碼、編譯、下載,果然跑起來了,看來默認的64的idle任務堆棧確實設置小了

202043eai74l7fb8cyfzbj

用uCOS-III點燈完成,也算小試了一把牛刀,但是沒有大規模的改代碼,就這么簡單的改了改配置就把RTOS跑了起來,這讓我心里隱隱地覺得有些不安,有什么焦慮呢,。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MPLAB
    +關注

    關注

    9

    文章

    222

    瀏覽量

    68559
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    高低溫試驗試驗功能全解析:恒溫 / 循環 / 可編程怎么選?

    廣東宏展科技提供高精度高低溫試驗箱,覆蓋電子、汽車等行業,具備恒溫、高低溫循環及可編程功能,滿足多場景測試需求。
    的頭像 發表于 02-04 08:59 ?2852次閱讀
    高低溫<b class='flag-5'>試驗</b>箱<b class='flag-5'>試驗</b>功能全解析:恒溫 / 循環 / 可<b class='flag-5'>編程</b>怎么選?

    harmony-utils之CacheUtil,緩存工具類

    harmony-utils之CacheUtil,緩存工具類
    的頭像 發表于 07-04 16:36 ?493次閱讀

    harmony-utils之CharUtil,字符工具類

    harmony-utils之CharUtil,字符工具類
    的頭像 發表于 07-04 16:34 ?486次閱讀

    harmony-utils之CrashUtil,異常相關工具類

    harmony-utils之CrashUtil,異常相關工具類
    的頭像 發表于 07-04 16:33 ?529次閱讀

    harmony-utils之DeviceUtil,設備相關工具類

    harmony-utils之DeviceUtil,設備相關工具類
    的頭像 發表于 07-03 18:27 ?630次閱讀

    harmony-utils之DisplayUtil,屏幕相關工具類

    harmony-utils之DisplayUtil,屏幕相關工具類
    的頭像 發表于 07-03 18:26 ?495次閱讀

    harmony-utils之EmitterUtil,Emitter工具類

    harmony-utils之EmitterUtil,Emitter工具類
    的頭像 發表于 07-03 18:24 ?429次閱讀

    harmony-utils之FileUtil,文件相關工具類

    harmony-utils之FileUtil,文件相關工具類
    的頭像 發表于 07-03 18:23 ?563次閱讀

    harmony-utils之FormatUtil,格式化工具類

    harmony-utils之FormatUtil,格式化工具類
    的頭像 發表于 07-03 18:22 ?534次閱讀

    harmony-utils之ImageUtil,圖片相關工具類

    harmony-utils之ImageUtil,圖片相關工具類
    的頭像 發表于 07-03 18:22 ?879次閱讀

    harmony-utils之LRUCacheUtil,LRUCache緩存工具類

    harmony-utils之LRUCacheUtil,LRUCache緩存工具類 harmony-utils 簡介與說明 harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫
    的頭像 發表于 07-03 18:11 ?545次閱讀

    harmony-utils之PreviewUtil,文件預覽工具類

    harmony-utils之PreviewUtil,文件預覽工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多
    的頭像 發表于 07-03 11:40 ?484次閱讀

    harmony-utils之StrUtil,字符串工具類

    harmony-utils之StrUtil,字符串工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實用工具類
    的頭像 發表于 07-03 11:32 ?632次閱讀

    harmony-utils之TypeUtil,類型檢查工具類

    harmony-utils之TypeUtil,類型檢查工具類 harmony-utils 簡介與說明 [harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多
    的頭像 發表于 06-30 17:35 ?529次閱讀

    harmony-utils之DateUtil,日期工具類

    harmony-utils之DateUtil,日期工具類
    的頭像 發表于 06-25 22:15 ?439次閱讀