自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

InWho的博客

Lifelong learner

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux中断方式按键驱动

0.0上一个按键驱动使用查询方式,占用cpu为99%,根本不实用,因此使用中断方式按键驱动。0.1驱动功能:记录按键按下次数并发往用户端。读取按键状态时,如果按键未按下则休眠进程,按键按下则进入中断服务函数,在isr中唤醒进程并将对应按键按下的次数加1.一、宏定义设备名称和主设备号,定义中断描述结构体及初始化结构体参数,按键次数静态全局数组,按键状态变量(0表示未按下,1表示按下),注...

2018-12-14 11:17:17 1263 2

原创 笔记本电脑、虚拟机与开发板三者互ping,并在开发板挂载nfs

一、笔记本网络设置1. wifi已经连接网络,在命令窗口查看ip,无线网卡ip为192.168.43.1122. 必须设置有线网卡ip与无线网卡ip不在同一网段    设置为192.168.42.11,如图:3. 命令窗口查看ip,已经设置成功,如下图:二、Ubuntu虚拟机设置1.选择桥接模式,由于笔记本用了wifi网卡连接网络,虚拟机要使用本地有线网卡桥接...

2018-12-08 17:14:51 724

原创 解决Ubuntu下make error:fatal error: zlib.h: No such file or directory

安装jffs2文件系统映像工具时,make后出现以下错误: fatal error: zlib.h: No such file or directory原因是缺少zlib.h文件,需要安装zlib命令:sudo apt-get install zlib1g-dev如下步骤并不管用...

2018-12-08 11:07:59 33627 4

原创 解决u-boot编译permission denied

1.今天编译u-boot时出现permission denied错误:u-boot-1.1.6$ make smdk2410_configu-·boot-1.1.6/mkconfig: Permission denied [smdk2410_config] Error 127后经查找发现是文件权限问题,因为我在Windows下解压u-boot压缩文件,导致文件权限混乱,改到Ubunt...

2018-12-06 16:12:45 1023 1

转载 vmlinux uImage与zImage的区别

原文链接:https://www.cnblogs.com/pigeon84/articles/2212404.html从下面的内核编译过程,可以看出vmlinux, arch/arm/boot/compressed/vmlinux, arch/arm/boot/Image, arch/arm/boot/zImage 之间的区别LD      vmlinux  SYSMAP  Sy...

2018-12-03 15:16:12 760

转载 对比理解adr,ldr指令

很多人在写简单的裸机代码或分析uboot时,常常遇到adr ldr指令。却分不清这2者的区别,今天就来谈谈adr与ldr指令。参照韦老师的代码和Makefile写了test_adr.S:.text.globl _start_start:    ldr r0, test    adr r0, test    ldr r0, =test    noptest:nop...

2018-11-30 11:35:20 1799

转载 汇编中.word的具体用途

原文地址:http://sdnydubing.blog.163.com/blog/static/13747057020112904958830/_undefined_instruction: .word  undefined_instruction_undefined_instruction是一个标号,处理到这里时,asm会把undefined_instruction的值按16bit...

2018-11-28 21:45:12 4999 1

原创 C语言数据段总结

昨天晚上对.rodata和.data的概念比较模糊,今天特意做了实验具体分析一下,在此总结。一、测试代码 const int g_test1 =0x123; unsigned int g_test2 = 0xabc; char g_test3[] = "asdfghjkl"; char g_test4[10]; char *g_test = "zz...

2018-11-28 11:51:25 1237 2

原创 ARM920T_内核MMU与cache应用分析

一、cache分类及应用场合cache是内存和CPU之间的高速缓冲存储器,其分为icache(指令缓存)和dcache(数据缓存)。如果开启了cache,当CPU运行时会将正在运行的指令地址附近的指令或者数据调入cache,这样当运行下一条指令或用到下一条数据时直接从cache中查找,如果查找不到再访问内存,以此加快CPU执行速度。icache可以直接开启,而dcache需要开启MMU之后才能...

2018-11-25 10:32:28 1135

原创 S3C2440代码重定位分析

一、NAND启动此处NAND大小为256M,当从NAND启动时,0地址为片内SRAM,NOR不可见。由于NAND不支持XIP,所以在启动时,硬件自动复制NAND的前4K内容到片内4K的SRAM,若bin文件小于4K,则可以直接在SRAM上运行,若bin文件大于4K,片内SRAM已经满足不了需求,我们需要做的是利用这前4K的代码,完成将所有代码重定位至SDRAM(位于BANK6地址0X30000...

2018-11-10 12:26:40 381 2

原创 C语言函数指针数组在ARM中断中的应用

一、函数指针的声明与初始化...int max_fun(int a, int b);/*函数指针的声明,声明了两个形参都为int类型,返回值为int类型的函数指针*/int (*fp)(int, int);/*指针初始化*/fp = max_fun; //fp = &max_fun 也正确/*函数指针初始化后的调用*/fp(a,b); //(*fp...

2018-11-06 20:41:18 617 1

原创 ARM920T_内核 und与svc异常模式分析

一、undefined异常模式0. 当执行未定义指令时进入und模式,进入过程:CPU跳至0x4地址执行代码,自动保存CPSR寄存器值至SPSR寄存器,我们要做的就是在0x4处跳转到另一段代码,用这段代码完成现场保护,以及异常处理,最后退出异常。此处使用NOR启动,并且在0x0处执行reset时已经将NOR中的所有代码重定位至SDRAM中,所以跳转时不能用相对跳转(b和bl),必须使用绝对...

2018-11-04 17:25:45 1002

原创 解决Ubuntu编译error:fatal error: sys/cdefs.h: No such file or directory

64位的Ubuntu如果执行X86平台32位编译,gcc -m32 -o x  x.c会报错:fatal error: sys/cdefs.h: No such file or directory解决办法:可以执行sudo apt-get install libc6-dev-i386语句联网安装32位库文件。64位下直接编译会出现指针占8个字节的情况,不利于直接操作堆栈地址,如下图:...

2018-10-27 15:30:51 11193

原创 C语言动态分配多维数组

分析两种动态分配二位数组的方法,其原理一致。0. 动态分配一维数组int a[rows]#include <stdlib.h>int main{void}{ ... int *a = (int *)malloc(rows * sizeof(int));//分配一段内存,存放rows个int型的数据 ...}1. 动态分配内容不一...

2018-10-23 09:03:48 1501

转载 C语言指针详解

--------------------- 作者:constantine___ 来源:CSDN 原文:https://blog.csdn.net/constantin_/article/details/79575638 --------------------- 前言:复杂类型说明    要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解...

2018-10-18 09:54:01 165

原创 解决keil_mdk编译error: #3092: anonymous unions are only supported in --gnu mode

extern struct STRUCT_USARTx_Fram{    char Data_RX_BUF[RX_BUF_MAX_LEN];    union {                    __IO uint16_t InfAll;                    struct {                        __IO uint16_t FramL...

2018-10-12 14:37:49 15252 3

转载 #、##、__VA_ARGS__和##__VA_ARGS__的作用

一、#用来把参数转换成字符串例子一:#define P(A) printf("%s:%d\n",#A,A);int main(int argc, char **argv){        int a = 1, b = 2;        P(a);        P(b);        P(a+b);        system("pause");}输出为:例子二...

2018-10-11 21:20:04 3329

原创 C语言strstr函数

包含文件 string.hchar *strstr(char *str1, const char *str2);功能:在字符串str1中查找str2,判断str2是否是str1的子串,若是则返回str2首次出现的地址,不是则返回NULLstr1 被查找的对象str2 要查找的对象...

2018-10-11 19:42:05 2037

原创 uCOSIII概览

一、 任务管理任务控制块OS_TCB中包含了任务栈顶,栈深,下个任务控制块,任务名,任务栈基地址,时间戳,时间片,信号量数目等信息。1.任务创建:定义任务控制块--定义任务优先级--定义任务栈大小--定义任务栈数组--定义任务函数OSTaskCreate()函数创建任务。2. 任务删除:OSTaskDel();3. 任务调度:OSSched();延时函数中包含任务调度,运行任务...

2018-10-07 21:09:37 306

原创 uCOSIII_消息队列-消息传递实验分析

实验内容:创建4个任务:static  void  AppTaskStart(void *p_arg);static  void  main_task(void *p_arg);static  void  Keyprocess_task    (void *p_arg);static  void  msgdis_task    (void *p_arg);两个消息队列:stati...

2018-09-27 20:32:33 2013

原创 设置KEIL MDK 编译完成生成 bin 文件

1. 点击Options for Target2. 点击User3. After Buid/Rebuid  选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的project.axf文件转换为project.bin文件输出至Objects文件夹下。其中.axf文件为keil编译过程产生的文件。fromelf --bin --output Obje...

2018-09-08 20:53:44 2583 1

原创 STM32F103_TIM3输出PWM波实现全彩呼吸灯

一、LED灯1.必须是全彩RGB_LED灯2. 通过不同的红绿蓝三色LED混合出256种颜色,同电脑画图里的调色RGB888,每个灯各用8位控制其亮度,其中全灭表示黑色。二、1. LED亮度等级表/* LED亮度等级 PWM表,指数曲线 ,此表使用工程目录下的python脚本index_wave.py生成*/const uint16_t indexWave[] = {...

2018-09-04 17:45:34 10228 31

原创 STM32F103_SD卡FatFs文件系统移植

一、下载解压官方源码压缩包1 添加下列文件至项目列表并包含头文件。二、配置函数接口主要有以下几个文件 : diskio.c       ffconf.h1  官方源码已经有写好的代码框架,只需要添加ATA(指SD卡)部分即可(1) 获取设备状态部分,由于SD卡起始状态特别多,此处默认检测到SD卡设备。    case ATA :        //默认设备检测成功 ...

2018-08-30 15:42:10 6566 1

原创 STM32F103_通用定时器“输入捕获”测量输入脉冲宽度

一、硬件设计        选用通用定时器TIM5的CH1,其输入管脚为PA0,在开发板上PA0连接按键,当按键按下输入高电平,按键松开输入低电平,实验测量高电平的脉冲宽度。二、软件设计    1. 配置中断向量表的优先级        因只使用一个中断 TIM5_IRQn,抢占优先级与子优先级可随意配置。        代码如下:static void  Gener...

2018-08-22 22:23:44 10578 4

原创 STM32F103_ADC单通道电压采集中断读取初始化配置步骤

1. 初始化ADC所用的GPIO。2. 利用ADC_InitTypeDef 配置ADC相关参数,并初始化。3. 配置ADC时钟,选择合适的分频因数。4. 设置ADC通道转换顺序与采样时间。5. 配置中断向量表,在ADC中断函数中读取采样数据。6. 使能ADC.7. 使能软件触发ADC转换。...

2018-08-18 19:23:10 4635

原创 小端模式与大端模式存储数据

1、大端模式  大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节,保存在内存的高地址中。  例子:  汉字 “液”字的国标码为:D2BA(2个字节),D2为高字节,BA为低字节。  其为大端模式存储。2、小端模式  小端模式,是指数据的低字节保存在内存的低地址中,而数据的高字节,保存在内存的高地址中。  例子:  汉字 “液”字的国标码为:D2BA(2个字节),D2...

2018-08-12 13:06:07 1096

phoenix EDID Designer

phoenix EDID Designer

2023-10-13

STM32 PWM波实现全彩呼吸灯

STM32F103_TIM3输出PWM波实现全彩呼吸灯

2023-08-29

C语言常用函数

C语言常用函数集合,详解,C语言库函数合集,C语言常用函数集合,详解,C语言库函数合集,C语言常用函数集合,详解,C语言库函数合集。

2018-10-07

空空如也

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

TA关注的人

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