自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 [好文笔记] IC数字验证的全流程经验总结

utm_id=0本文是测试验证工作的方法论,软硬件通用,醍醐灌顶.

2023-10-06 20:56:05 990

原创 [韦东山老师U-Boot笔记] 基本概念,构建脚本,基础源码

XIP方式的BootLoader直接存放在片内的ROM或FLASH中执行.优势是bootloader流程更加简单,问题是随着bootloader程序逐渐变大,大多数单板片内的ROM或flash不足以支撑完整的bootloader程序,所以使用非XIP的方式更为主流.非XIP的启动方式需要把U-Boot从外设搬运到内存,负责搬运的小程序称为spl,通常是刷写在可以XIP的ROM或Flash设备,这里我们称之为BootRom.上面是XIP(eXecute in place的方式),下面是非XIP的启动方式.

2023-10-04 16:19:39 253

原创 编程技巧杂记

迅速知道函数指针跳转到哪个函数的方法?使用调试工具单步或JTAG单步有时候某些系统环境没有好用的调试工具,又没有JTAG,那么只能打印函数指针,用addr2line找,或者objdump把elf反汇编出来看。

2023-09-12 21:05:51 60

原创 [李忠老师从实模式到保护模式] 第11-13章总结

16位或32位寄存器上,都不允许用栈指针寄存器sp进行内存寻址,但是32位处理器上允许用ESP进行内存寻址.

2023-09-10 01:12:13 103

原创 [李忠老师从实模式到保护模式] 第1-10章总结

CF(0): Carry Flag 进位/借位PF(2): Parity Flag 奇偶标志,算术操作结果低8位有偶数个1,此标志是1OF(11): Overflow Flag 溢出标志,溢出为1e.g.ah=1111 1101, add ah,5 -> OF=0 因为AH是负数-> OF=1 因为结果是230ZF(6): Zero Flag 运算结果=0时此标志是1SF(7): sign flag 运算结果最高位设置此标志,0正1负。

2023-08-13 18:14:18 144 1

原创 [汇编语言]BUG与错题

这是在王爽老师的<汇编语言 第三版>,第10章实验10的第3个小实验转换为课程设计1中的双字节版本的dtoc过程中遇到的.如图,DEBUG.EXE调试时,显示的值是12666,结果是正确的.但是在没有DEBUG.EXE介入时,运行的结果确是58138.上面的程序中,没有对dx进行初始化操作,导致dx可能是个随机值.修改方法就是mov dx,0即可.

2023-08-05 22:08:45 85

原创 [王爽老师汇编语言总结] 第12-17章

内中断是如何产生的?a. 除法错误,如除0,溢出,中断码=0b. 单步执行,中断码=1c. 执行into指令,中断码=4d. 执行int指令,格式:int n如何根据中断码获取中断程序入口位置?a. 根据中断码,在中断向量表中查找该中断码对应的中断程序CS和IP,并设置CS:IP以进行跳转b. N号中断源对应的中断处理程序入口的IP的内存单元地址为:4N, CS为4N+2(高地址字存放段地址,低地址字存放偏移地址)c. a过程由CPU硬件自动完成d.4和N。

2023-08-01 23:26:13 77

原创 [王爽老师汇编语言总结] 第9-11章

a. 将当前的IP或CS:IP压入栈中;转移b. call指令不能实现短转移, call指令实现的转移方法和jmp指令原理相同。

2023-07-23 21:36:09 76

原创 [每个程序员都应该了解的内存知识] 总结

南北桥结构是什么?有什么特点?有什么缺点?a. CPU 通过**前端总线(FSB)**连接到北桥。北桥主要硬件是RAM,负责高速的硬件设备b. 南桥也称IO桥,负责慢速设备,如PCI/SATA/USBc. CPU间数据通信也走FSBd. CPU与RAM通信走北桥, CPU与南桥通信经过北桥f. RAM只有一个端口南北桥结构有何缺陷?a. 瓶颈1: 设备通信需要CPU参与,CPU和设备处理速度的差距导致系统性能瓶颈。

2023-07-20 10:44:49 121

原创 [王爽老师汇编语言总结] 第5-8章

a. div/mul reg / div 内存单元b. 除数:有8位和16位两种,在reg或内存单元中c. 被除数:若除数为8位,被除数为16位,默认放AX;若除数为16位,被除数为32位,在DX(高16位)和AX(低16位)中存放d. 结果:若除数为8位,则AL存商,AH存余数;若除数为16位,AX存商,DX存余数e. 注:可能在程序中出现div导致cs:ip跑飞(即出现异常了)的情况,这种时候通常是结果寄存器的长度不足以存放结果或者出现除0。

2023-07-20 00:41:00 53

原创 [王爽老师汇编语言总结] 第1-4章

a. 参考:https://blog.csdn.net/Apelpoo/article/details/51870154 / https://blog.csdn.net/csdn_gddf102384398/article/details/84311183。实验2中阐述了一个知识点:使用DEBUG.exe,用t单步,mov ss,ax之后,会紧接着执行下一条指令.且不单是mov ss,ax,所有修改栈段寄存器ss的指令都会有相同的情况,这个是什么原因?a. 从此知识点可知,最好以mov ss,xx;

2023-07-16 19:39:34 52

原创 常用的结构体布局方式

【代码】常用的结构体布局方式。

2023-07-15 16:26:43 42

原创 【断案集】U-Boot:一次因基本类型长度导致的崩溃

boot3中的uintptr是4B,故高4B的空间可能是随机值.而spl/uboot是8B,获取的高4B会是随机的,导致访问非法内存地址.boot3的uintptr是32位,4B,而spl和u-boot均是64位,8B.当编写boot3/spl/u-boot共用的代码段时,要注意类型长度的兼容性问题.

2023-07-08 00:35:22 45

原创 kernel 文件系统调试环境配置

密钥相关的配置设置为空(有关键字debian和pem的)2. make menuconfig, 设置选项如下。在另一个窗口中,输入gdb,即可开启调试。1. Linux源码,6.3。其中init的内容如下。

2023-05-20 22:28:14 272

原创 使用unique_ptr防文件操作内存泄漏的小技巧

链接:https://www.bilibili.com/video/BV12K411p7GC本文只是对视频内容归纳整理。假设从Linux系统的某文件读取5个字符,可写成:#include <fcntl.h> // ::open()#include <unistd.h> // ::close()#include <stdio.h>int main(){ int fd = ::open("test.cc", O_RONLY, 0); if (fd ==

2020-06-28 11:48:11 475

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除