C
文章平均质量分 85
geter_CS
你要把时间用在美好的事情上,不要总是在不值得的事情上浪费。停止自我否定,多去肯定自己;停止反复懊悔,学会坦然放下;停止急于求成,耐心等待自律带来的变化......
展开
-
riscv引导程序及仿真记录
l.jal _mymain表示跳转到_mymain处,可以看下面c代码的汇编,其中会根据mymain函数创建_mymain标签。注意:在实际的汇编程序编写中,跳转的目标往往使用汇编程序中的 label,汇编器 会自动根据 label 所在的地址计算出相对的偏移量赋予指令编码。.section .text表示下面的代码链接时放在.text段,.org设置当前代码的地址偏移(相对于链接时指定定.text段的起始地址)。_th0_main标签处,连续的l.addi 指令可以理解为对32个通用寄存器的清操作。原创 2022-11-05 17:00:45 · 942 阅读 · 0 评论 -
riscv-gcc工具编译firmware进行仿真问题总结
Q1 riscv裸机编程undefined reference to `_memcpy` :c代码中数组长度超过16,并在定义时做初始化,编译报错问题,Q2 全局变量初始化问题Q3 riscv裸机编程undefined reference to `_memcpy` :c代码中字符数组长度超过16,并在定义时做初始化,编译报错问题.Q4 字符串常量初始化问题。原创 2022-11-01 17:31:30 · 747 阅读 · 0 评论 -
用宏重新定义printf(debug),宏函数中的可变参数
1.用宏重新定义printf(debug)可以这样定义宏:#include <stdio.h>//#define NDEBUG 10#ifdef NDEBUG#define debug_printf(fmt, ...)#elseextern int debug_print;#define debug_printf(fmt, ...) ({ \ if(debug_print) \ { \ printf(fmt, ##__V原创 2020-12-16 21:32:29 · 1446 阅读 · 0 评论