自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 Centos9编译Linux-6.8.6源码(离线环境搭建)

vmware虚拟机:x86架构,cpu 2核,内存 4G,磁盘50G。

2024-04-30 16:55:08 362 1

原创 centos9源码编译ncurses生成libncursesw的问题及解决办法

编译,只会生成静态库,并且库名后面会多一个。

2024-04-30 09:40:20 45

原创 源码安装Python3.11排雷记录

不解决如果直接make install,运行python会报错。不解决如果直接make install,运行python会报错。之后还是会报错,单未影响我的使用,暂未解决。

2024-04-09 11:54:27 199

原创 module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1

写了个简单的模块demoMakefile内容编译然后报错 invalid format,查看内核消息查看具体报错。

2023-12-05 10:29:19 520

原创 (standard input): No keywords in input file!(udev编译)

在 centos 9 上编译 udev-182 源码。

2023-12-03 19:34:42 110

原创 centos stream 9 安装 libc-static静态库

尝试安装c静态库,报错。查阅官方原始镜像站能够找到 glibc-static 的镜像,那么为什么安装找不到。

2023-12-03 15:57:50 331

原创 c++学习之多重继承指针强转父类

当子类实例指针被强转为父类指针时,指针的值会发生变化,根据c++标准对象的概念,以该父类指针调用同名成员函数,调用的是子类的函数。为了做到这点,在强转时,),以使其指向该父类的虚表。

2023-11-06 20:14:40 194

原创 x86架构学习之中断

外部中断,一般是由CPU的外部引脚电信号触发,这些引脚留给硬件厂商去定义中断,例如主板厂商可以将USB中断挂载70号中断引脚上,MCU厂商可以将片上外设(SPI、I2C等)的中断挂载在指定中断线上。中断描述符主要用于说明该中断的入口地址,中断描述符表则是将中断描述符一项一项管理在一个数组中,每一项中断描述符占用8个字节(64位模式下,占用16字节),其。简称中断,后文如果没特别说明,中断都指外部中断,由外部IO事件触发,由于时钟源来自CPU外部,与CPU时钟不同源,因此是异步事件。

2023-11-06 19:06:25 381

原创 gcc整数溢出检测 __mulvsi3 __addvdi3

ftrapv 参数会让GCC在生成代码时,对算数运算结果做溢出检测,如果检测到溢出,则自动abort退出程序。在编译时加上 -ftrapv 参数 , 运行时检测到溢出后 , 会产生SIGABRT , 进程终止。,4611686018427387904是个第63位为1的64位数。core调用栈有__mulvsi3 或 __addvdi3。

2023-11-03 16:07:11 225

原创 x86架构学习之调用指令call

看本文前,作者假设你已经阅读了《x86架构学习之操作模式、内存寻址、特权级》分段特权级调用门操作模式。

2023-11-03 11:43:54 224

原创 C++学习之虚表

【代码】C++学习之虚表。

2023-11-01 17:07:05 24

原创 Linux内核学习之内存寻址

本文是以x86为例,讲解Linux中的寻址方法,在读本文前,建议先了解x86硬件分段、分页的实现,详情可以参考我另一篇文章x86架构学习之操作模式、内存寻址、特权级。

2023-11-01 14:52:29 130

原创 C++优化相关的关键字学习

即汇编内联展开,仅作用于函数定义gcc 8.1.0c标准c++标准c89标准中不支持inline关键字c99标准、c11标准中g++inline: 开优化则内联,否则独立代码。

2023-10-26 11:51:16 25

原创 gdb调试技巧分享

如果你要指定多个路径,UNIX下你可以使用“:”,Windows下你可以使用“;一个程序可能链接多个动态库,这些库中可能使用了同名变量,这时打印出来的值很可能出乎你意料,解决办法,利用工具修改库中的同名符号(未验证)GDB提供了可以让你指定源文件的路径的命令,以便GDB进行搜索。有时候程序中存在同名变量,打印出来的值很可能不是你想要的,这时可以首先通过gdb打印变量的格式来判断下是否打的是其他同名变量。当进程崩溃时,通过系统dump出来的core文件来排查程序崩溃原因,如果不确定是否开启,可以通过。

2023-10-26 11:40:04 184

原创 Linux内核学习之进程管理

在Linux中,最初是只有进程的概念的,而没有线程的概念,后来为了兼容POSIX标准的线程概念,引入了轻量级进程(light weight process,LWP)的概念,也就是线程,没错,也就是说,线程在Linux中原型也是进程。进程是地址空间上隔离的程序,而线程是共享地址空间的。看下,例如如下例程:编译:g++ -g -pthread -o main main.cpp。

2023-10-25 15:18:31 57

原创 x86架构学习之操作模式、内存寻址、特权级

本文以x86架构为例,讲解Linux的寻址技术,在讲解Linux前,先要理解清楚硬件层面的寻址原理。1~7节重点讲解硬件,与Linux没有关系,更多的是讲解x86硬件架构的寻址技术,也就是x86的MMU(memory manager unit)原理,8-9节则Linux如何使用硬件寻址单元。

2023-10-12 16:18:47 199

原创 Linux内核学习之内核同步技术

注:本文含个人的理解和认知。

2023-09-27 14:49:57 29

原创 Linux内核学习之内核控制路径

注:本文包含个人的一些理解和认知。

2023-09-26 16:36:27 109

原创 Linux内核开发之hook系统调用

本文将讨论如何hook Linux系统调用,教你如何获取系统调用表的地址以及如何利用它来实现几乎所有你想做的事情。

2023-09-21 19:27:32 542

原创 Linux平台如何将调试符号与ELF分离

如果一切准备妥当,当你用gdb运行elf执行文件时,会看到如下gdb输出的提示信息。当然,也可以通过GDB手动指定符号文件路径。

2023-09-19 14:38:09 92

原创 Keil jlink cannot load driver JL2CM3.dll

jlink驱动版本安装不对。

2023-09-13 23:31:21 570

原创 STM32CUBE生成KEIL工程,使用工程自带DSP库(非keil自带)

_FPU_PRESENT是在stm32f405xx.h里定义的,但是在DSP源码(包含文件中)中没有定义,如果直接在魔术棒定义全局__FPU_PRESENT宏,会导致原来的包含stm32f405xx.h的代码报错重定义,如果直接在DSP源码文件中加入该宏定义,当次编码可以通过,但是,但通过STM32CUBE重新生成后,DSP源码会被覆盖还原(STM32CUBE中选择了拷贝所有用到的库,之所以选择这个,是想生成独立的工程目录)。

2023-09-10 13:20:26 344

原创 无感无刷电机驱动原理——第二章

无感无刷电机驱动电路原理分析与设计

2023-09-06 22:53:56 431

原创 无感无刷电机驱动原理——第一章

定性分析无感无刷电机驱动原理

2023-08-10 12:53:09 1354

原创 Linux个人学习记录:进程工作管理之nohup和&的理解

Linux个人学习记录:进程工作管理之nohup和&的理解

2019-09-10 20:40:22 214

原创 关于linux特殊符号$学习的一些疑惑和个人理解

在linux中写bash脚本,最常用到的判断符号有中括号 [ ] 。看了鸟哥基本篇学习了一下,有一些疑惑,最后通过自己做些代码测试,得出了一些可能的解释,作为学习记录,还在学习中,解释可能不全面甚至错误。书中有个例子:name="VBird Tsai"[ $name == "VBird" ]直接运行会报错bash:[: too many arguments鸟哥的解释是当$name没有...

2019-09-01 17:34:13 215

原创 LWIP个人移植心得,平台STM32F4,HAL库,CMSIS_OS系统封装

LWIP个人移植心得,平台STM32F4,HAL库,CMSIS_OS系统封装1、先在官网下载LWIP源码及例程文件,以1.4.1版本为例分别是lwip-1.4.1和contrib-1.4.1,将lwip-1.4.1的src文件夹全都拷贝到自己工程中,同时先在这个src下新建一个空文件夹命名arch。2、然后将contrib-1.4.1\ports\win32\include\arch下的bps...

2018-10-27 22:32:30 3889

JEPG编解码

JPEG亮度编解码,使用DCT变换。内部使用到的编码有VLI、RLC、DPCM

2018-11-26

FRFT算法C代码实现(256点)

用C实现的FRFT算法,暂时仅支持256点,此为CodeBlock工程,也可以直接提取其中的main.c、DisFrft.c、data.c三个核心文件自己构建其他工程

2018-03-29

蓝牙串口助手(Android Studio源码)

软件下载链接http://a.app.qq.com/o/simple.jsp?pkgname=com.example.bluetoothassist 本软件为蓝牙串口通信工具,支持蓝牙从模式和主模式,可进行蓝牙串口通信测试。能连接单片机及PC的蓝牙串口。 可用于硬件的串口蓝牙模块(TTL)通信。 软件功能: 1、搜索蓝牙设备 2、接收显示数据与发送数据 3、可设置ASCII与HEX的输入输出模式 4、自定义接收对齐字节数 本工具含三种发送方式: 1、定时发送方式:设定发送周期进行定时发送 2、按键发送方式:可自定义5个按钮的输出值 3、编辑发送方式:可编辑发送文本,支持发送回车键。

2018-03-06

空空如也

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

TA关注的人

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