作者sss22213 (sss22213)
看板C_and_CPP
標題[問題] C語言與ASM混編的問題
時間Wed Aug 31 02:06:27 2016
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
AVR-GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
AVR-Libc
問題(Question):
在閱讀FreeRTOS for AVR的程式碼中
看不懂38,39行pxCurrentTCB的用法,為何可以直接傳入C的指標,
還有pxCurrentTCB位移存資料的用法?
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
http://pastebin.com/HtpxUuXL
extern volatile TCB_t * volatile pxCurrentTCB;
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.39.154
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1472580390.A.9AC.html
1F:→ tjjh89017: 沒用過AVR-GCC所以不確定,不過一般來說,C的變數都是 08/31 13:37
2F:→ tjjh89017: symbol,然後在asm裡面也可以直接使用symbol來作為 08/31 13:37
3F:→ tjjh89017: address的替代 08/31 13:38
4F:→ askacis: 都是symbol,連linking script的變數都可以拿到c code用 08/31 18:14
5F:→ sss22213: 感謝各位前輩 我了解了 08/31 18:35
6F:→ sss22213: 然後 +1是因為我是使用8bits的AVR 08/31 18:35
7F:→ sss22213: 由於位址是16bits的 所以需要兩塊0位置存 不知我理解 08/31 18:35
8F:→ sss22213: 有沒有問題? 08/31 18:35