1、stm32中断向量表 理解
https://blog.csdn.net/apythonlearner/article/details/130271670
https://blog.csdn.net/yuzhou12341/article/details/105322673
2、/proc/sys/kernel/printk打印级别
https://blog.csdn.net/m0_54657729/article/details/130414696
3、extern “C” 用法,原理。
编译时会将变量名和函数名进行修饰,但是c和c++的修饰方式不一样不能混用,c++为了兼容c,使用extern "C"关键字来区分。c++编译器会将在extern "C"的大括号内部的代码当作c语言处理。
extern “C”{
int func(int)
int var;
}
#ifdef __cplusplus
extern “C”{
#endif
void memset (void,int,size_t);
#ifdef __cplusplus
}
#endif
4、更新git本地代码库到最新版本
git fetch --all && git reset origin/master && git checkout -f
5、Git命令
git [选项]
add 将文件内容添加到索引
rm 删除文件添加索引
branch 列出,创建或删除分支
checkout 检查分支或路径到工作树
clone 将存储克隆到新目录中
commit 将更改记录到存储库
diff 显示提交,提交和工作树等之间的更改
init 创建一个空的Git仓库或重新开始初始化一个现有的
log 显示提交日志
push origin HEAD:refs/for/master 推送本地仓库到远程服务器仓库
git push origin HEAD:refs/for/dev/bsp_dev
git add xxx文件 会将修改的文件放入暂存区
git reset xxx文件 会将文件从暂存区回退到工作区,此时git diff可以看到修改
git commit 之后想要回退
git reset --soft commit编号 会将commit撤销,修改的代码还是在暂存区
git reset --mixed commit编号 会将commit撤销,修改的代码返回到工作区
git reset --hard commit编号 会将commit撤销,修改的代码全部被还原
git clean -df 清除多余文件
git blame -L line1,line2 filename 查看对应行代码修改的用户
合入代码遇到冲突解决办法:
(1)先abandon
(2)git reset --soft 上一次提交
(3)git stash
(4)git pull
(5)git stash pop
(6)消除冲突
(7)git add commit push
6、挂载nandflash
#mknod /dev/ubi0 c 250 0
ubidetach -d 0 /dev/ubi_ctrl
ubiformat /dev/mtd2 -y
ubiattach /dev/ubi_ctrl -m 2
ubimkvol /dev/ubi0 -m -N ubiflashdisk
mkdir -p /flash
mount -t ubifs /dev/ubi0_0 /flash -o sync
cd /flash && mkdir usrdata && mkdir sysdata
ln -s /flash/sysdata /home/sysdata
ln -s /flash/usrdata /home/usrdata
mkdir sys
挂载失败的处理方法
ubidetach -d 0 /dev/ubi_ctrl
ubiformat /dev/mtd2 -y
7、逻辑加载扫描
lspci -v
设置devmem访问
./setpci -s 0000:01:00.0 0x04.b=0x07
echo 1 > /sys/bus/pci/devices/0002:01:00.0/remove
echo 1 > /sys/bus/pci/rescan
8、CRT时间格式
格式按这个填写 [%Y%M%D_%h:%m:%s_%t]#
mobaXterm时间格式
[Com COM1] (&Y-&M-&D_&T).log
9、疑难故障
在A.c文件定义了一个全局uint16变量a,赋了非0初值,并且在A.c文件中重新赋非0值、打印符合预期。
然后在B.c文件中extern a变量,打印出来是0,验证多次都这样,很奇怪。
变量a会被sscanf调用,ret = sscanf(DATE,“%s %x %x”,str_mon,&fan_date,&fan_year);
然后又做了个实验,在A.c文件中定义全局uint16变量b,赋了非0初值,在A.c文件函数中将a的值赋给b,然后在B.c文件中extern b变量,打印出来是想要的值。这可能啥原因,有啥定位思路吗?
10、静态库和动态库makefile编译规则
https://zhuanlan.zhihu.com/p/544022813