自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凡人

机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂

  • 博客(11)
  • 资源 (4)
  • 收藏
  • 关注

原创 常见字符串函数

#include <stdio.h>#include <assert.h>#include <string.h>#include <stdlib.h>// 内存copy函数void *my_memcpy(void *dest, const void *src, int n){ assert((NULL != dest) &amp...

2018-03-05 22:27:55 243

转载 C语言中常见错误

1. Ambiguous operators need parentheses — 不明确的运算需要用括号括起2. Ambiguous symbol 'xxx' — 不明确的符号3. Argument list syntax error — 参数表语法错误4. Array bounds missing — 丢失数组界限符5. Array size toolarge — 数组尺寸太大6. Bad c...

2018-03-05 22:16:00 588

转载 内核里面writel(readl)是如何实现的

writel和readl,这两个个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据。先说一下writel: 在arch/alpha/kernel/io.c中有188 void writel(u32 b, volatile void __iomem *addr)189 {190     __raw_writel(b, addr);191    

2017-07-25 23:48:07 795

转载 不要做浮躁的嵌入式系统工程师

不管浮躁与否,我想大家曾经有东西多的学不完不知从何下手的感觉,那就看看下面的文章,或许很受用。    每天读一遍,思考一下:我是否浮躁?1、不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异。2、初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习。很多人用了很久都是只对部分功能熟悉而已,不系统

2017-04-06 15:41:00 333

转载 【PCB】【AD使用】Altium Designer 的entry sheet ,offsheet和port作用

Altium Designer之多图纸设计1.图纸结构图纸包括两种结构关系:一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系;另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建立信号连接。————————————————————————————————————————————————————————————————————

2017-03-28 14:25:21 12224

翻译 OVERVIEW OF PULSE WIDTH MODULATION TIMER (PWM定时器介绍)

1.1 OVERVIEW OF PULSE WIDTH MODULATION TIMER(PWM定时器介绍)The S5PV210 has five 32-bit Pulse Width Modulation (PWM) timers. These timers generate internal interrupts for the ARM subsystem. In addition, T

2017-03-28 10:58:36 689

转载 typedef 函数指针的用法

typedef 函数指针的用法在网上搜索函数指针,看到一个例子。开始没看懂,想放弃,可是转念一想,这个用法迟早要弄懂的,现在多花点时间看懂它,好过以后碰到了要再花一倍时间来弄懂它。其实很多时候都是这样,如果每次到难一点的内容,总想着下次我再来解决它,那就永远也学不到东西。后面那个例子加了注释,是我对这种用法的理解,希望对新手有所帮助。进入正文: 代码简化, 促进跨平

2017-03-22 10:14:09 321

转载 ARM的9种寻址方式

1)立即寻址操作数是立即数,以“#”为前缀,表示 16 进制数值时以“0x”表示。例:MOV   R0,#0xFF00   ;0xFF00 ->  R0SUBS   R0,R0,#1     ;R0 – 1 ->  R0 2)寄存器寻址操作数的值在寄存器中,指令执行时直接取出寄存器值操作。例:MOV  R1,R2      ;

2017-03-10 13:51:35 5694

转载 ARM堆栈及特殊指令

ARM7支持四种堆栈模式:满递减(FD)、满递增(FA)、空递减(ED)、空递增(EA)FD:堆栈地址从上往下递减,且指针指向最后一个入栈元素。FA:堆栈地址从下往上递增,且指针指向最后一个入栈元素。ED:堆栈地址从上往下递减,且指针指向下一个可用空位。EA:堆栈地址从下网上递增,且指针指向下一个可用空位。ADSC编译器只支持FD,ucos堆栈模式只能配置递增或递减,关

2017-03-10 13:48:40 852

原创 arm汇编之 bne与beq

在网上看了一些bne和beq的区别,但是对于初学者来说,容易越看越糊涂,因此简单介绍下:我们先分析CPSR寄存器的Z标识位:cmp指令可以直接影响CPSR寄存器的Z标识位(条件位),从图中可以看出:比较结果为0时,Z位置1,比较结果为非0时,Z位为0;再来看一段SDRAM重定位中的子过程(不必纠结于子过程的功能):// 清bss段,其实就是在链接地址处把bss段

2017-02-20 22:44:41 51328

转载 ARM寄存器(R13/R14/R15)

一、ARM工作状态下的寄存器组织ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC(即R15)、一个状态寄存器都是可访问的。void delay(void){ volatile unsigned

2017-02-20 12:58:01 3363

stm32F103串口IAP + Ymodem 升级

本代码包含BootLoader 和 App程序,可直接编译下载; 环境: 单片机:正点原子STM32F103ZET6开发板 工具: STM32CubeMX 5.1、 Pack:stm32cube_fw_f4_v1240、SecureCRT 8.5.3

2019-04-06

stm32F429串口IAP + Ymodem 升级

本代码包含BootLoader 和 App程序,可直接编译下载; 环境: 单片机:正点原子STM32F429IGT6开发板 工具:STM32CubeMX 5.1、 Pack:stm32cube_fw_f4_v1240、SecureCRT 8.5.3 IDE:Keil_MDK 5.26.2

2019-04-06

u-boot-jiuding.tar.bz2

九鼎官方 u-boot源码 U-Boot uses a 3 level version number containing a version, a sub-version, and a patchlevel: "U-Boot-2.34.5" means version "2", sub-version "34", and patchlevel "4". The patchlevel is used to indicate certain stages of development between released versions, i. e. officially released versions of U-Boot will always have a patchlevel of "0".

2018-03-02

GNU+makefile中文手册.pdf

本文所要介绍的是 GNU 的 make,采用 Red Hat FC3(包括最新发布 的 GNU Linux 系统)所集成的 GUN make 工具

2017-02-23

空空如也

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

TA关注的人

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