[问题] 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