- 博客(10)
- 收藏
- 关注
转载 震惊!这个隐藏的Bootloader漏洞究竟有多少人中招?
的见鬼故障时,经常在大费周章的一通分析和调试后,发现问题的罪魁祸首就是跳转代码。可怕的是,几乎每个故障的具体现象都各不相同,表现出的随机性也常常让人怀疑是不是硬件本身存在问题,亦或是产品工作现场的电磁环境较为恶劣。关键字导致实际可用的通用寄存器数量入不敷出,大概率还是会用栈来进行过渡的——此时,哪些局部变量用栈,哪些用通用寄存器就完全看编译器的心情了。简而言之,如果你“偷偷摸摸”的修改了栈顶指针,C语言编译器是会“假装”完全不知道的,而此时所产生的后果C语言编译器会默认自己完全不用负责。
2025-07-18 19:37:23
6
原创 2. git tag标签
表示带有附注的标签,然后需要填写附注信息,填写后保存即可。前提是要知道该提交的校验和。git v1.7.0以前。git v1.7.0以后。也可以新建轻量级标签,表示删除,后跟标签名。
2025-03-24 16:46:46
301
原创 5. 嵌入式linux驱动-linux设备分类
Linux 系统中的设备可以分为字符设备、块设备和网络设备这3 类。字符设备:字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的I/O 操作立即发生。Linux 系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。在嵌入式Linux 开发中,接触最多的就是字符设备以及驱动。块设备:块设备是Linux 系统中进行I/O 操作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O
2025-03-24 16:41:23
927
原创 4. 嵌入式linux驱动-虚拟地址映射
所谓虚拟地址映射就是从虚拟地址映射到物理地址,MMU开启后,CPU访问的地址都是虚拟地址。不光linux采用虚拟地址,windows等其他操作系统也采用虚拟地址而不直接使用物理地址。
2025-03-24 16:40:28
495
原创 3. 嵌入式linux驱动-驱动加载的两种方式
驱动的动态加载指的是利用了linux的module特性,可以在系统启动后通过insmod或modprobe命令挂载.ko内核目标文件,对模块进行加载,成功后可通过mknod指令进行挂载节点,在不需要的时候可通过rmmod命令来卸载模块。在驱动文件mydrv.c和makefile目录下执行make编译出mydrv.ko文件,然后复制到目标板,执行insmod命令加载驱动,然后就可以在应用层调用了,不使用可以使用rmmod命令卸载驱动模块。同时,模块一旦被加载,它就和内核中的其他部分完全一样,使用灵活。
2025-03-24 16:39:45
462
原创 嵌入式linux-根文件系统制作
如嵌入式Linux文件系统中通常不会放置内核源码,因而存的 常不会放置内核源码,因而存的 常不会放置内核源码,因而存放源码的 /usr/src目录是不必要的, 甚至连头文件也不需要,即/usr/include目录也不必要;这里只是拷贝动态链接库。要构建一个可用的Linux根文件系统,需要的二进制和库都不少,完全从零开始也是不现实的,推荐参考其它现有可用的文件系统,在原基础上按需修改;,目录里都是二进制命令工具,这还不足以构成 一个可用的根文件系统,必须进行其它完善工作,才能构建一个可用的根文件系统。
2025-03-24 16:12:29
908
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人