自定义博客皮肤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)
  • 收藏
  • 关注

原创 设计模式——简单工厂模式

设计模式——简单工厂模式概念设计模式是前人设计经验的总结、稳定、拓展性更强的一系列编程思想、代码更容易让他人理解、保证代码的可靠性、程序的重要性。对象和类类是一种用户 定义的引用数据类型,也称类类型(相当于结构体)对象是类的一种具象 struct Animal{ //成员属性 int age; int sex; //成员方法 void (*peat)(); void (*pbeat)(); };//这相当于一种类struct A

2022-03-22 17:25:32 583

原创 linux-线程

线程线程常见函数线程创建与回收pthread_create:主线程创建子线程pthread_join:主线程用来等待(阻塞)回收子线程pthread_detach:主线程用来分离子线程,分离后主线程不用回收子线程线程取消pthread_cancel:一个线程(一般是主线程)可以通过调用该函数终止其他线程pthread_setcancelstate:一个线程是否可以被其他线程杀死,取决于该线程是否设置了权限,该函数就是设置自己是否允许被取消pthread_setcanceltype:这

2022-03-19 23:51:52 123

原创 X210之uboot配置过程详解

uboot配置过程详解//下面的代码还是在主Makefile里(2589-2591行)x210_sd_config : unconfig @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 samsung s5pc110 /* (1) 给mkconfig脚本传6个参数 第一个参数:$(@:_config=)($@相当于x210_sd_config;:相当于加工;_config=相当于将目标的“_config”替换成 空);因此第一

2022-03-19 23:50:10 186

原创 X210之uboot的启动第二阶段

uboot的启动第二阶段代码所在文件名为:board.ctypedef int (init_fnc_t) (void);/*这是一个函数类型。*///代码70行DECLARE_GLOBAL_DATA_PTR //#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")/* *定义了一个全局变量gd(是一个指针类型的,占4个字节)。 *volatile修饰表示可变。 *用register修饰表示这

2022-03-19 23:47:17 110

原创 X210之 start.S详解

start.S详解引入如何找到uboot的入口?因为uboot中有汇编阶段,所以不能直接找main.c;而uboot中整个程序的入口取决于u-boot.lds中链接脚本ENTRY声明的地方。( ENTRY(_stsrt) 。总结: _start符号所在的文件就是整个程序的起始文件, _start所在处的代码就是整个程序的起始代码。lowlevel_init函数分析push {lr} //将lr寄存器压栈,以便于后面再进行bl调用lr存储的是函数的返回地址lowlevel_init函数44-1

2022-03-19 23:45:42 119

原创 X210之uboot启动内核分析

uboot——启动内核分析内核启动的步骤第一步是将内核镜像从启动介质中加载到DDR中。movi read kernel 0x30008000 //这条指令就是从SD卡中的kernel分区中将kernel读取到DDR的链接地址0x30008000中第二步是去DDR中启动内核镜像。bootm 0x30008000 //这条指令用来启动kernel**注意:**内核代码不需要考虑重定位,因为内核知道会有uboot之类的把自己加载到DDR中链接地址处的,所以内核直接就是从链接地址处开始运

2022-03-19 23:44:27 208

原创 X210之uboot源码分析

uboot源码分析Makefile分析1自己参考源码。Makefile分析2ifdef Oifeq ("$(origin O)", "command line")    BUILD_DIR := $(O)endifendif /*如果定义了O变量,且定义O变量的方式是以命令行方式定义的,如: make O=tmp/builder,就将这个O变量值赋给BUILD_DIR变量如果O变量没有被定义,则上面语句不被执行。*/ifneq ($(BUILD_DIR),)saved-out

2022-03-19 23:42:07 256

原创 X210之uboot配置及编译

uboot配置及编译uboot获取途径uboot官方SoC官方具体开发板的官方这里采用的是第三种方案:从开发板资料光盘的BSP中将uboot源码复制到linux源生目录中去解压tar -jxvf qt_x210v3_130807.tar.bz2 //解压qt_x210v3_130807.tar.bz2uboot配置首先再解压完成后进入uboot的根目录cd uboot //进入根目录然后在uboot根目录下执行指令:make x210_sd_config //出现“Con

2022-03-19 23:39:13 380

原创 栈的四种情况

栈的四种情况**满栈:**sp指针指向有内容的地址。因此,进栈是先移动指针再存;出栈是先出数据再移动指针**空栈:**sp指针指向没有内容的地址。因此,进栈是先存再移动指针;出栈是先移动指针再出数据**减栈:**sp指针向地址减小的方向移动。因此,进栈指针向下移动;出栈是指针向上移动**增栈:**sp指针向地址增加的方向移动。因此,进栈指针向上移动;出栈是指针向下移动**总结:**根据上面的栈的概念,可以组成四种栈的情况满减栈:sp指针一开始指向有内容的地址,进栈先向下移动指针后再将内容存进

2022-03-19 23:36:35 3562

原创 内存&外部存储器

内存&外部存储器一些专业术语ROM:read only memory 只读存储器RAM:ramdom access memory 随机访问存储器IROM:internal rom 内部ROM,指的是集成到SoC内部的ROMIRAM:internal ram 内部RAM,指的是集成到SoC内部的RAMDRAM:dynamic ram 动态RAMSRAM:static ram 静态RAM内存概念: 内部存储器,用来运行程序的;举例: RAM(DRAM

2022-03-19 23:34:48 345

原创 ARM常见汇编指令集

ARM汇编指令集指令与伪指令汇编指令是CPU机器指令的助记符,经过编译后会得到一串0、1组成的机器码,由CPU读取执行汇编伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令是最终不会生成机器码ARM汇编特征LDR/STR架构ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容加载入CPU中通用寄存器中才能被CPU处理。ldr(load register)指令将内存内容加载入通用寄存器。str(s

2022-03-19 23:32:21 1136

原创 stm32中断优先级的理解

stm32中断优先级的理解当多个中断同时响应先比较抢占优先级,优先响应抢占优先级高的中断。当抢占优先级相同时,比较子优先级,优先响应子优先级高的中断。当抢占优先级和子优先级都相同时,比较中断向量表中的中断编号,编号越小,优先级越高,优先响应中断向量表编号小的中断。当多个中断不是同时响应首先要理解抢占优先级的概念:抢占优先级决定的是抢占的行为。意思就是说当一个中断或异常正在响应时,只有一个抢占优先级更高的中断或异常才可以抢占上一个中断。换句话说,一个中断正在响应时。优先级相同的另一个不能抢占上

2021-12-13 00:27:05 1267

原创 STM32基础和常见外设

STM32开发环境安装MDK软件在桌面创建一个用于专门保存是stm32 的文件夹安装芯片包打开软件新建工程(Project)保存到文件夹将启动文件添加到文件夹点亮LED灯配置使能APB2的GPIOC时钟*(unsigned int *)0x4002 1010 |= 0x01 << 4 //起始地址+偏移地址 0x4002 1000 + 0x10配置GPIOC13端口输出模式*(unsigned int *)0x4001 1004 |= 0x01 <&l

2021-10-29 19:58:13 4638

原创 树莓派开发

树莓派开发树莓派刷机工具和软件工具:USB读卡器+SD卡。软件:Win32DiskImager。步骤打开软件: Win32DiskImager点击文件夹并找到(网上自己下载):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jZO3cxYg-1635508485092)(C:\Users\86150\Desktop\截图\屏幕截图 2021-08-09 220617.jpg)]点击write刷机。拔下SD卡,插入树莓派中树莓派登录串口登录设备破解

2021-10-29 19:55:22 273

原创 MarkDown常用快捷方式

MarkDown 学习标题一级标题:#+空格+标题名二级标题:##+空格+标题名字体加粗二个星号+字+二个星号Hello,Word!斜体一个星号+字+一个星号Hello,Word!斜体+粗三个星号+字+三个星号Hello,Word!划线二个波浪线+字+二个波浪线Hello,Word!引用大于号+空格分割线①三个减号②三个星号图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dUy1YuYR-1627108489057)(C

2021-07-24 14:37:38 99

空空如也

空空如也

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

TA关注的人

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