作者jserv (松鼠)
看板Soft_Job
標題Re: [請益] trace freertos
時間Tue Feb 28 05:52:35 2017
※ 引述《wandog (慢跑中毒)》之銘言:
: 目前一邊準備電機國考 一邊追freertos的code 挫折感很重 很久之前有試著用gdb trace
: 印象中跳到kernel中的部分沒辦法停住 但不太確定
: 但是直接看code追得很痛苦 請問有推薦的工具嗎 至少以前在寫embedded linux的ap還有printf可用 寫網頁debug的工具更多 現在對os很有興趣 確覺得遇到一個高牆
兩年前我們學生更新了 FreeRTOS 的技術報告,應該還是中文世界最詳盡的材料:
http://wiki.csie.ncku.edu.tw/embedded/freertos
請愛用 GEF 這個工具來搭配 GDB 追蹤程式碼:
https://github.com/hugsy/gef
不過要注意到,GEF 現在不完全支援 ARM Cortex-M 系列,暫存器會抓到 cpsr/spsr,等我把期初測驗的考卷改完,再來研究怎麼修正。
FreeRTOS 在某些硬體架構,比方說 ARM 平台,實作不是很優雅,效率也不好 (今年我們會發表一份技術報告,論及如何在 Cortex-M 環境實作高效能的
hypervisor,會包含 FreeRTOS 地效能分析,下半年再來跟大家分享),所以從 2014 年起,我們實作另一個 RTOS,稱為 rtenv+,授權模式也較 FreeRTOS
採用的 modified GPL 來得有彈性 (rtenv+ 採用 BSD License,著作權人是台灣國立成功大學),歡迎從這裡切入:
http://wiki.csie.ncku.edu.tw/embedded/rtenv
在 2015 年夏季,我們加入部分 POSIX Thread 的支援。
今年春季的課程中,我希望帶著學生繼續挑戰上面的議題,歡迎關注我們的開放課程:
http://wiki.csie.ncku.edu.tw/sysprog/schedule
(提供部分課程錄影)
另外,也可以一併參考 F9 microkernel,這個開放原始碼的專案也出自成功大學的師生,在 2014 年獲得美國 Genesi 公司採用,成為 Radix IoT Paas [1]
解決方案的基礎,在 IoT 的作業系統核心中,F9 算是很有特色,而且兼顧安全和效能,可參考我在 FOSDEM 2017 的演講和對應的參考資訊:
https://fosdem.org/2017/schedule/event/microkernel_microkernel_for_embedded_devices/
[1]
https://genesi.company/solutions/embedded
: 本身是機械背景 很弱 請見諒
我本身沒讀過書,更弱,請見諒。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.4.39
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1488232364.A.102.html
1F:推 femlro: 頭香@@jserv 02/28 07:16
2F:推 lovdkkkk: 頸 02/28 09:48
3F:推 gerojeng: 有神快拜!! 02/28 10:12
4F:推 bcew: 大神快拜^^ 02/28 10:41
5F:推 Psyman: 神明現蹤!! 02/28 10:55
6F:推 chadcoco1222: ㄊㄨㄟㄧˉㄒㄧㄚˋ 02/28 11:14
7F:推 odahawk: 太棒了,我正好需要 02/28 11:19
8F:推 hizuki: 您也有去FOSDEM,在布魯塞爾的時候錯過了您的演講 02/28 11:26
9F:推 y2468101216: 推 02/28 13:39
10F:推 keyut2433: 我跪著看這篇文 02/28 16:14
11F:推 shietsd: 釣到大魚了XD 02/28 18:42
12F:推 CGary: 推jserv的學生.... 02/28 21:04
13F:推 wtchen: 拜神.... 03/01 00:12
14F:推 Ccio: 推 03/01 01:32
15F:推 gocreating: 拜神 03/01 03:56
16F:推 jason710068: 大師級推個 03/01 08:54
17F:推 Ekmund: 坐等~ 03/01 09:57
18F:推 MIKEmike07: ORZ 03/01 10:39
19F:推 soheadsome: jserv 03/01 11:07
20F:推 wandog: 其實我有上過2014的課程 xd 03/01 11:15
21F:推 wandog: jserv大說自己沒讀過書 這樣我去跳海好了 好慚愧 03/01 11:23
22F:推 seel: Jserv大 推~ 03/01 18:14
23F:推 Ten9: 大神 快拜~!! Orz 03/01 18:55
24F:推 woopoo: 本人耶 03/03 00:47
25F:推 ZC: 有神快拜! 03/03 12:45
26F:推 JoJo56: 推 03/05 13:46
27F:推 jemic: 推 03/09 00:47
29F:推 bomb116: 關於cpsr/xpsr的問題,可以將 class ARM(Architure): 裡 08/10 12:58
30F:→ bomb116: 出現的 "$cpsr" 改成 "$xPSR" 08/10 12:58
31F:推 bomb116: 測試環境:gdb-multiarch, stm32f429-discovery 08/10 13:10