InWho
码龄7年
关注
提问 私信
  • 博客:128,719
    128,719
    总访问量
  • 21
    原创
  • 1,510,362
    排名
  • 29
    粉丝
  • 0
    铁粉

个人简介:lifelong learner

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2018-04-30
博客简介:

InWho的博客

博客描述:
Lifelong learner
查看详细资料
个人成就
  • 获得110次点赞
  • 内容获得53次评论
  • 获得308次收藏
  • 代码片获得1,424次分享
创作历程
  • 26篇
    2018年
成就勋章
TA的专栏
  • STM32
    4篇
  • uCOSIII
    2篇
  • ARM9
    5篇
  • LINUX
    5篇
  • C语言
    6篇
  • ARM汇编
    2篇
  • MISC
    4篇
兴趣领域 设置
  • 人工智能
    opencv计算机视觉
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

phoenix EDID Designer

发布资源 2023.10.13 ·
zip

STM32 PWM波实现全彩呼吸灯

发布资源 2023.08.29 ·
zip

Linux中断方式按键驱动

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

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

一、笔记本网络设置1. wifi已经连接网络,在命令窗口查看ip,无线网卡ip为192.168.43.1122. 必须设置有线网卡ip与无线网卡ip不在同一网段    设置为192.168.42.11,如图:3. 命令窗口查看ip,已经设置成功,如下图:二、Ubuntu虚拟机设置1.选择桥接模式,由于笔记本用了wifi网卡连接网络,虚拟机要使用本地有线网卡桥接...
原创
发布博客 2018.12.08 ·
804 阅读 ·
2 点赞 ·
0 评论 ·
7 收藏

解决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 ·
35540 阅读 ·
26 点赞 ·
4 评论 ·
25 收藏

解决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 ·
1147 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

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 ·
788 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

对比理解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 ·
1880 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

汇编中.word的具体用途

原文地址:http://sdnydubing.blog.163.com/blog/static/13747057020112904958830/_undefined_instruction: .word  undefined_instruction_undefined_instruction是一个标号,处理到这里时,asm会把undefined_instruction的值按16bit...
转载
发布博客 2018.11.28 ·
5168 阅读 ·
3 点赞 ·
1 评论 ·
12 收藏

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 ·
1286 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

ARM920T_内核MMU与cache应用分析

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

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 ·
411 阅读 ·
1 点赞 ·
2 评论 ·
0 收藏

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 ·
673 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

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

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

解决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 ·
11374 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

C语言动态分配多维数组

分析两种动态分配二位数组的方法,其原理一致。0. 动态分配一维数组int a[rows]#include <stdlib.h>int main{void}{ ... int *a = (int *)malloc(rows * sizeof(int));//分配一段内存,存放rows个int型的数据 ...}1. 动态分配内容不一...
原创
发布博客 2018.10.23 ·
1560 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

C语言指针详解

--------------------- 作者:constantine___ 来源:CSDN 原文:https://blog.csdn.net/constantin_/article/details/79575638 --------------------- 前言:复杂类型说明    要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解...
转载
发布博客 2018.10.18 ·
209 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

解决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 ·
16918 阅读 ·
23 点赞 ·
3 评论 ·
48 收藏

#、##、__VA_ARGS__和##__VA_ARGS__的作用

一、#用来把参数转换成字符串例子一:#define P(A) printf("%s:%d
",#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 ·
3387 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

C语言strstr函数

包含文件 string.hchar *strstr(char *str1, const char *str2);功能:在字符串str1中查找str2,判断str2是否是str1的子串,若是则返回str2首次出现的地址,不是则返回NULLstr1 被查找的对象str2 要查找的对象...
原创
发布博客 2018.10.11 ·
2088 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏
加载更多