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

看板C_and_CPP (C/C++)作者 (sss22213)時間9年前 (2016/08/31 02:06), 編輯推噓0(008)
留言8則, 3人參與, 最新討論串1/1
開發平台(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://www.ptt.cc/bbs/C_and_CPP/M.1472580390.A.9AC.html

08/31 13:37, , 1F
沒用過AVR-GCC所以不確定,不過一般來說,C的變數都是
08/31 13:37, 1F

08/31 13:37, , 2F
symbol,然後在asm裡面也可以直接使用symbol來作為
08/31 13:37, 2F

08/31 13:38, , 3F
address的替代
08/31 13:38, 3F

08/31 18:14, , 4F
都是symbol,連linking script的變數都可以拿到c code用
08/31 18:14, 4F

08/31 18:35, , 5F
感謝各位前輩 我了解了
08/31 18:35, 5F

08/31 18:35, , 6F
然後 +1是因為我是使用8bits的AVR
08/31 18:35, 6F

08/31 18:35, , 7F
由於位址是16bits的 所以需要兩塊0位置存 不知我理解
08/31 18:35, 7F

08/31 18:35, , 8F
有沒有問題?
08/31 18:35, 8F
文章代碼(AID): #1NnSicci (C_and_CPP)
文章代碼(AID): #1NnSicci (C_and_CPP)