[問題] C語言與ASM混編的問題

作者: sss22213 (sss22213)   2016-08-31 02:06:27
開發平台(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):
作者: tjjh89017 (伊達政宗)   2016-08-31 13:37:00
沒用過AVR-GCC所以不確定,不過一般來說,C的變數都是symbol,然後在asm裡面也可以直接使用symbol來作為address的替代
作者: askacis (ASKA)   2016-08-31 18:14:00
都是symbol,連linking script的變數都可以拿到c code用
作者: sss22213 (sss22213)   2016-08-31 18:35:00
感謝各位前輩 我了解了然後 +1是因為我是使用8bits的AVR由於位址是16bits的 所以需要兩塊0位置存 不知我理解有沒有問題?

Links booklink

Contact Us: admin [ a t ] ucptt.com