自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

魏波-CSDN认证博客专家

魏波-CSDN认证博客专家,全国总排名306,文章总访问量超500万。个人邮箱1095528269@qq.com

  • 博客(33)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 多传感器信息融合算法总结

                            多传感器信息融合算法总结  

2018-11-17 14:49:46 15174 1

翻译 #ifdef __cplusplus extern “C” { #endif的作用!

#ifdef __cplusplusextern “C”{#endif //代码 #ifdef __cplusplus}#endif 解释:(1)cpp中对函数的重载处理。在c++中,为了支持重载机制,在编译生成的汇编码中,要对函数的名字进行一些处理,加入比如函数的返回类型等等.而在C中,只是简单的函数名字而已,不会加入其他的信息.也就是说:C++和C对产生的函数名...

2018-11-27 22:08:12 825

转载 ARM汇编:汇编语言跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等

跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.根据标志位跳转的指令:JE   ;等于则跳转JNE  ;不等于则跳转JZ   ;为 0 则跳转JNZ  ;不为 0 则跳转JS   ;为负则跳转JNS  ;...

2018-11-19 11:25:58 8487 1

翻译 汇编语言子程序的汇编及与C程序的连接

2018-11-19 11:18:28 421

翻译 ARM汇编:汇编中proc、endp、ret、near、far指令用法

   ARM汇编:汇编中proc、endp、ret、near、far指令用法子程序名 PROC NEAR ( 或 FAR )……ret子程序名 ENDP(1)NEAR属性(段内近调用): 调用程序和子程序在同一代码段中,只能被相同代码段的其他程序调用;   FAR属性(段间远调用): 调用程序和子程序不在同一代码段中,可以被相同或不同代码段的程序调用.(2)proc是定义子...

2018-11-19 11:09:49 11439

转载 ARM汇编:左移shl、右移shr指令用法!

       ARM汇编:左移shl、右移shr指令用法shl和shr是逻辑移位指令。1.shl是逻辑左移指令,它的功能为:(1)将一个寄存器或内存单元中的数据向左移位;(2)将最后移出的一位写入CF中;(3)最低位用0补充。指令:mov al,01001000bshl al,1 ;将al中数据左移一位执行后(al)=10010000b,CF=0。 ...

2018-11-19 11:00:31 7140 2

翻译 枚举类型enum需要注意的6点!

 

2018-11-18 20:40:38 1224 1

翻译 C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?

逻辑右移与算术右移的区别?逻辑右移就是不考虑符号位,右移一位,左边补零即可。算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。所以算术右移也可以进行有符号位的除法,右移n位就等于除2的n次方。例如,8位二进制数11001101分别右移一位。逻辑右移就是[0]1100110算术右移就是[1]1100110 C语言中的位运算符主要有哪些?...

2018-11-18 20:20:11 1549

原创 在malloc函数中为什么常用sizeof来设定内存分配的大小?

             在malloc函数中为什么常用sizeof来设定内存分配的大小?例子:为40个整数变量分配内存并赋值,然后系统在收回这些内存。 #include<stdlib.h>#include<stdio.h>void main(){ int *p; p = (int *)malloc(40*sizeof(int));//用s...

2018-11-18 16:06:03 4055

翻译 C语言结构体中__packed 和位段的理解!

                          C语言中__packed 和位段的理解一:__packed typedef __packed structstruct常用在数据结构中。而struct的字节对齐方式对于嵌入式底层的程序员来讲是必须掌握的。现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量...

2018-11-15 16:19:25 20690 2

翻译 嵌入式编程C语言提高代码效率的14种方法

                嵌入式编程C语言提高代码效率的14种方法 1、在可能的情况下使用typedef替代define.当然有时候你无法避免define,但是typedef更好。typedef  int*  INT_PTR; INT_PTR  a ,b;# define INT_PTR  int*; INT_PTR  a ,b;int x = 4; if(x...

2018-11-14 11:27:43 2275 1

翻译 ARM汇编:汇编中IA、IB、DA、DB和FD、ED、FA、EA什么意思?

          ARM汇编:汇编中IA、IB、DA、DB和FD、ED、FA、EA什么意思?ARM指令的多数据传输(STM、LDM)中,提到:多寄存器的Load和Store指令分为2组:一组用于数据的存储与读取,对应于IA、IB、DA、DB,一组用于堆栈操作,对应于FD、ED、FA、EA,两组中对应的指令含义相同。IA:increase after   ;表示数据传输后地址增加...

2018-11-14 09:47:38 4691

原创 ARM汇编:BNE和TST和BEQ

                                  ARM汇编:BNE和TST(1)例一:TST与BNE搭配TST r0,#02BNE sleepLDR  r1,#0解释:位比较,先进行and运算,如果r0第2位不为1,则与的结果为0,设置标志位zero=1,继续下面的ldr指令。反之,zero=0,跳转到sleep执行。bne指令: 非零则跳转个人总...

2018-11-13 22:07:59 2917

翻译 ARM汇编:伪指令DATA和EQU的区别

                      ARM汇编:伪指令DATA和EQU的区别 1、EQU 指令定义:用于将一个数值或寄存器名赋给一个指定的符号名。格式:符号名 EQU 表达式符号名 EQU 寄存器名 注意:表达式必须是一个简单再定位表达式。用 EQU 指令赋值以后的字符名,可以用作数据地址、代码地址、位地址或者直接当做一个立即数使用。比如:s eq...

2018-11-13 21:48:00 3128

翻译 ARM汇编:MRS和MSR指令

                        ARM汇编:MRS和MSR指令ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据。一:下面先来说说状态寄存器针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器。每个位的含义如下图:分成了4部分:1,条件标志位N(Negative), Z(Zero), C(Carry), V(Verflow)统称为条件标志位...

2018-11-13 21:06:54 10051

原创 嵌入式ARM启动代码的工作

                           嵌入式ARM启动代码的工作(1)定义代码的初始入口点:初始入口点是指代码运行时的起始点,它在每个映像文件中是唯一的,也是每个可执行的映像文件             所必须含有的,而且必须位于映像文件的可执行域内。(2)设置中断向量表,链接到包括复位、未定义指令,软件中断、取指中断、取数中断、IRQ和FIQ等异常或中断的处理程序。(...

2018-11-13 20:31:23 599

原创 remap(地址重映射)机制

                       remap(地址重映射)机制(1)在系统复位之后,ARM将从地址0处开始执行指令,因此地址0x0处必须是ROM之类的在掉电之后数据不会天失的存储介质,而且存放的必须是E确的可执行的指令。(2)在ARM的体系结构中,异常和中断的入口地址(即中断向最表),位于存储介质的0x0-0x20的区域,每当有异常或者中断发生的时候,ARM将会跳转到该区域内...

2018-11-12 22:09:48 1779

原创 嵌入式软件开发的特点、设计流程、嵌入式软件的结构

       嵌入式软件开发的特点、设计流程、嵌入式软件的结构 一:嵌入式软件开发的特点1.嵌入式软件设计时更强调软硬件协同工作的效率和稳定性。2.嵌入式软件的结果通常需要固化在目标系统的储存器或处理器内部储存器资源中。3.嵌入式软件的开发一般需要开发工具、目标系统、测试设备。4.嵌入式软件对实时性的要求更高。5.嵌入式软件对抗干扰性和可靠性的要求很高。6.嵌入式软件的代码...

2018-11-12 21:13:17 4194

原创 嵌入式ARM处理器的7种集成开发环境和6种JTAG调试器

      嵌入式ARM处理器的7种集成开发环境和6种JTAG调试器7种集成开发环境1.ADS(ARM Developer Suite)ADS由以下几部分组成:(1)命令行开发工具:armcc、armcpp、tcc、tcpp、armasm、armlink、armsd。(2)ARM时库(3)GUI开发环境:Code Warrior或AXD(4)实用程序(5)支持软件组...

2018-11-11 21:25:08 3477

翻译 ARM模拟器-skyeye(天目)的安装和使用!

                  ARM模拟器-skyeye(天目)的安装和使用SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具,这样就可以在没有硬件条件下来进行嵌入式系统的开发。以下操作均在Fedora Core 1.0里通过。文档摘要:1、什么是SkyEye?2、SkyEye可以做什么事情?3、安装SkyEye4、安装arm-elf交叉编译器5、测试你的arm-e...

2018-11-11 17:02:43 7770

原创 计算机系统的储存器结构

                              计算机系统的储存器结构计算机系统的存储器被组织成一个6个层次的金字塔形的层次结构, 如下图:S0层为CPU内部寄存器S1层为芯片内部的高速缓存(cache)内存S2层为芯片外的高速缓存(SRAM、 DRAM、 DDRAM)S3层为主存储器(Flash、PROM、EPROM、 EEPROM)S4层为外部存储器(磁盘、光盘、C...

2018-11-11 11:03:09 774

原创 APROM、LDROM的区别!(flash)

                              APROM、LDROM的区别flash存储控制器包含片上flash和boot loader,片上存储器是可编程的,包含APROM、LDROM、数据flash、用户配置去。1.内部FLASH可以被分成三个区,LDROM,,APROM,Data Flash。(1)APROM通常用来存储IDE(如:KEIL)开发的应用程序代码。(...

2018-11-10 21:06:47 3707 1

原创 已解决:上海张江高科技园区企业有哪些?(超级全总结)及张江人才公寓总汇!

                     上海张江高科技园区企业名录1)集成电路  上海ASR翱捷科技  IBM  锐迪科微电子(上海)有限公司 (以改名) 中芯国际集成电路制造(上海)有限公司  上海宏力半导体制造有限公司  威宇科技测试封装有限公司  芯成半导体(上海)有限公司  英飞凌科技中国有限公司  展讯通信有限公司  鼎芯半导体(上海)有限公...

2018-11-10 17:42:59 54113

原创 Flash存储控制器组成!(flash)

                            Flash存储控制器组成Flash存储控制器(Flash Memory Contoller.FMC)包括AHB从接口、Cacte存储控制器、Boot Loader、Flash控制寄存器、Flash初始化控制器、Flash操作控制器和片上Flash存储器。Flash 存储控制器框图如下图所示。 (1)AHB从接口在Flash存...

2018-11-10 17:26:49 1583

原创 系统编程(ISP)与应用编程(IAP)的区别!

                      系统编程(ISP)与应用编程(IAP)的区别!1.定义(1)系统编程(ISP)ISP在系统编程是指电路板上的空白器件可以编程写人最终用户代码,而不需要从电路板上取下器件。已经编程的器件也可以用ISP方式擦除或再编程。 (2)应用编程(IAP)IAP在应用编程,是指MCU可以在系统中  001000在获取新代码并对自己重新编程.即可用...

2018-11-10 16:59:00 3169

原创 扇区、磁盘块、页、页框、缓冲区之间的关系!

           扇区、磁盘块、页、页框、缓冲区之间的关系!扇区是块设备传输数据的基本单元,也就是说它是块设备中最小的寻址单位,扇区通常的大小为512B。块是内核对文件系统的一种抽象,也就是说内核执行的所有磁盘操作都是以块为基本单位的。可以简单的将扇区和块理解为:扇区是硬件设备传输数据的最小单位,而块是操作系统传输数据的最小单位。一个块通常对应一个或多个相邻的扇区,由于内核将块作为...

2018-11-10 15:38:36 3098

原创 Flash芯片(硬盘)与RAM芯片(内存)存储信息的区别!

                    Flash芯片(硬盘)与RAM芯片(内存)存储信息的区别   1.Flash芯片(硬盘)      硬盘就是采用磁性物质记录信息的,磁盘上的磁性物质被磁化了就表示1,未被磁化就表示0,因为磁性在断电后不会丧失,所以磁盘断电后依然能保存数据。而内存的存储形式则不同,内存不是用磁性物质,而是用RAM芯片。现在请在一张纸上画一个“田”字,就是画一个正方...

2018-11-10 12:04:12 2607

翻译 看门狗(独立看门狗)与窗口看门狗的区别!

                 看门狗(独立看门狗)与窗口看门狗的区别在cortex-M系列芯片上有两个看门狗:看门狗(独立看门狗)和窗口看门狗。1、相同点    都是为了保证CPU程序跑飞2、独立看门狗    根据内部看门狗时钟频率,装载寄存器定一个时间值,比如是1000,那么独立看门狗就会按照时钟频率,从1000开始向下每隔一个时钟周期减1,如果在减到0之前,你用程序代码...

2018-11-10 10:27:36 1936

原创 口语学习Day8:今天聊聊微信有关的英语总结!

                                          微信有关的英语总结 wechat:微信log in:登陆log out:推出comment:评论sign up:注册repost:转发like:点赞red pocket:红包transfer:转账moments:朋友圈...

2018-11-09 11:00:44 309

翻译 RTOS之uCOS-II源码下载及源码目录结构、常见的RTOS!

RTOS有众多种,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的;其次是就是uCOS-II和uCOS-III。uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的。它们同是嵌入式实时操作系统,很多东西都是共通的,熟悉其一,其它都非难题了。常见的RTOS:1:QNX的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要MMU。如果需要高可靠性...

2018-11-07 16:56:48 2791

原创 嵌入式系统启动流程和启动代码的作用 !

                        嵌入式系统启动流程启动代码的作用一般嵌入式开发流程就是先建立一个工程,再编写源文件,然后进行编译,把所有的*.s 文件和*.c 文件编译成一个*.o 文件,再对目标文件进行链接和定位,编译成功后会生成一个*.hex 文件和调试文件,接下来要进行调试,如果成功的话,就可以将它固化到 lash 里面去。启动代码是用来初始化电路以及用来为高级语言写...

2018-11-04 18:13:31 1805

原创 CMSIS对异常和中断标识符、中断处理函数名以及中断向量异常号都有严格的要求。

       CMSIS:Cortex Microcontroller Software Interface StandardCMSIS对异常和中断标识符、中断处理函数名以及中断向量异常号都有严格的要求。异常和中断标识符需加后缀_IRQn,系统异常向量号必须为负值,而设备的中断向量号是从 0 开始递增,具体的定义在 M451Series.h 文件,如下所示(以 M451 微控制器系列为例)...

2018-11-04 17:26:04 677

原创 ISP、IAP、ICP的区别!

                             ISP、IAP、ICP烧写方式的区别ISP:In System Programing          在系统编程IAP:In applicating Programing    在应用编程ICP:In Circuit Programing           在电路编程注意:片内flash存储器的编程可以通过以下方法来实现:...

2018-11-03 10:55:53 863

Lua源代码分析顺序

Lua源代码分析顺序

2019-04-11

Memcached源码分析之内存管理

Memcached源码分析之内存管理Memcached源码分析之内存管理

2019-04-11

extern()和 flock()函数

extern()和 flock()函数extern()和 flock()函数

2019-04-11

cJSON是C语言中的一个JSON编解码器

cJSON是C语言中的一个JSON编解码器cJSON是C语言中的一个JSON编解码器

2019-04-11

coreutils 的所有代码链接

coreutils 的所有代码链接coreutils 的所有代码链接coreutils 的所有代码链接

2019-04-11

魏波-的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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