
gnu
software工程师
技术要分享,发展要共力
展开
-
[小知识] gnu.linkonce.xxxx
同事看了我之前的ld脚本,问这个*(.gnu.linkonce.t.*) 是干啥的,可以拿掉吗?说实话只知道这类输入段在我们系统中是没用的,拿掉没问题,但具体讲不明白其功能作用。我们的soc使用Freertos,这是前提。然后去网上搜了一下相关资料,这里做个记录。https://www.oreilly.com/library/view/mastering-assembly-pro...原创 2019-06-13 11:34:10 · 1758 阅读 · 1 评论 -
[小知识]节约一条指令的启发
今天又受教了,在汇编中对于一条指令的计较,代表了更高的性能和更小的 code size,工程师不能仅仅满足于功能的实现,挖掘硬件和编译器的全部潜力才是目标。学无止境~1,之前讲到SCR1的CPU Timer寄存器是MMIO的,定义为:#define MEM_MTIME_CTRL 0x00490000#define MEM_MTIME_DIV 0x00490004#define ...原创 2019-06-14 15:42:39 · 397 阅读 · 0 评论 -
[小知识]总结CSRs寄存器的读写指令
在之前的文章中介绍scr1时,对CPU IPIC register操作指令是有限制的,只能用csrrw/csrrwi。那这堆指令到底什么区别呢https://blog.youkuaiyun.com/kuankuan02/article/details/91489378针对CSRs操作指令,我们来重新梳理一下。首先明确,真正的机器码只有6条指令:csrrw (CSR read an...原创 2019-07-11 11:26:39 · 20296 阅读 · 4 评论