
嵌入系统软件开发
文章平均质量分 79
意念586
电力系统继电保护装置-嵌入式软件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
zynq7000系列芯片介绍
Memory Interfaces,包括两部分:一个是动态内存控制器(dynamic memory controller),一个是静态内存控制器(static memory controller)一个是ACP,全名Accelerator Coherency Port,加速器一致端口,作用是允许从PL到CPU存储空间的一致性访问,另外一个是DMA,全名直接存储访问,它支持多种传输模式:内存到内存,内存到外设,外设到内存,有8个通道。可以看出,有两个连接到DDR控制器,另一个连接到多端口的片上存储。原创 2023-03-06 09:43:51 · 3108 阅读 · 1 评论 -
arm-none-eabi交叉编译工具常用的一些指令
转自:http://blog.youkuaiyun.com/a13526758473/article/details/54982817假如目前有三个文件a.c、b.c、ab.lds:1.arm-none-eabi-gccarm-none-eabi-gcc --help 查看帮助信息。arm-none-eabi-gcc -c a.c 生成a.o文件。arm-none-eabi-gcc -g -c a.c生成a.o文件,-g使得如果反汇编可对应C语言显示。arm-none-eabi-gcc -c..原创 2020-09-04 17:11:28 · 3161 阅读 · 0 评论 -
Makefile教程
该篇文章为转载,是对原作者系列文章的总汇加上标注。支持原创,请移步陈浩大神博客:http://blog.youkuaiyun.com/haoel/article/details/2886makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTM...原创 2020-09-03 17:09:51 · 177 阅读 · 0 评论 -
stm32 IIC ACK与NACK的理解
参考自:http://blog.chinaunix.net/uid-16100003-id-3059814.html关于IIC的响应问题:对于每一个接收设备(从设备,slaver),当它被寻址后,都要求在接收到每一个字节后产生一个响应。因此,the master device 必须产生一个额外的时钟脉冲(第九个脉冲)用以和这个响应位相关联。在这个脉冲期间,发出响应的从设备必须将SDA拉低并...原创 2019-11-07 15:17:17 · 5038 阅读 · 5 评论 -
SPI详解
一、SPI简介SPI(Serial Peripheral Interface,串行外设接口)是一种高速、全双工、同步通信总线,常用于短距离通讯,主要应用于 EEPROM、FLASH、实时时钟、AD 转换器、还有数字信号处理器和数字信号解码器之间。1.1 SPI物理层SPI 一般使用 4 根线通信,如下图所示:MISO –主机输入 / 从机输出数据线(SPI Bus Master In...原创 2019-11-06 15:51:43 · 1110 阅读 · 0 评论 -
FSMC NORFlash 时序设置
一、时序介绍二、要保证正确地读/写,必须注意CPU时序与存储器读/写周期的配合。一般存储器芯片手册都会给出芯片读/写周期的时序图。Intel 2114芯片的读、写周期时序如图所示。1、读周期读操作时,必须保证片选信号为低电平,读写信号为高电平。tRC (读周期时间):指对芯片连续两次读操作之间的最小间隔时间。tA (读出时间):从给出有效地址后,经过译...原创 2019-10-31 11:38:13 · 2764 阅读 · 0 评论 -
A7139 无线通信驱动(STM32) 增加FIFO扩展模式,可以发送超大数据包
A7139 拥有电磁波唤醒以及10mW的发射功率,非常容易实现长距离通信,目前测试有障碍物可以轻松达到300m以上.通过几天的调试,目前可以发送任意大小的数据包,大小为1-16KB,全部使用中断收发,效率极高。增加波特率设置2Kbps-100Kbps任意设置增加通信信道设置0-255增加发送功率设置0-7底层代码[cpp]转载 2017-06-09 10:35:16 · 1087 阅读 · 0 评论 -
STM32F407 flash内存
硬件平台:STM32F4 DISCOVERY开发板 型号:MB997A或MB997C主芯片型号:STM32F405xx, STM32F407xx, STM32F415xx, 或 STM32F417xx主要参考文档:(1)PM0081 STM32F40xxx and STM32F41xxx Flash programming manual.pdf(2)STM32F407转载 2017-08-06 19:17:28 · 16169 阅读 · 0 评论 -
stm32 总线与内存分布
1、总线系统结构系统包括一个由多个互相连接的32位AHB总线组成的矩阵8个主总线 – Cortex-M4 with FPU core I-bus, D-bus and S-bus – DMA1 memory bus – DMA2 memory bus – DMA2 peripheral bus – Ethernet DMA bus转载 2017-11-22 14:27:48 · 2243 阅读 · 0 评论 -
LTE中阻塞干扰,杂散干扰,邻信道干扰,交调干扰,加性噪声干扰分析
加性噪声干扰:干扰源产生在被干扰频段的噪声。包括干扰源的杂散、噪底、邻道、发射互调等噪声,加性噪声是通过功率直接叠加的方式作用于有用信号,它的存在却独立于有用信号,不管有没有有用信号,加性噪声始终存在于射频器件中,影响正常通信的质量。一般通信中把随机的加性噪声看成是系统的背景噪声;从来源来看,加性噪声可分为无线电噪声、工业电噪声、自然噪声、射频器件的内部热噪声。无线电的干扰频率是固定的,可以通过...转载 2018-08-20 13:55:37 · 5115 阅读 · 0 评论 -
ARM cortex-M3 异常处理分析
一、进入异常之前处理器可能的状态有:1. handler2. 线程,MSP3. 线程,PSP 二、产生异常时: 1、 有一个压栈的过程,产生异常时使用PSP,就压入到PSP中,产生异常时使用MSP,就压入到MSP中2、 会根据处理器的模式和使用的堆栈,设置LR的值(当然设置完的LR的值再压栈) 三、异常返回时:根据LR的值,判读使...转载 2018-10-30 09:28:40 · 2169 阅读 · 0 评论 -
各类总线传输速率
1.USB总线USB1.1:-------低速模式(low speed):1.5Mbps-------全速模式(full speed):12MbpsUSB2.0:向下兼容。增加了高速模式,最大速率480Mbps。-------高速模式(high speed):25~480MbpsUSB3.0:向下兼容。-------super speed:理论上最高...转载 2019-05-24 17:43:04 · 4782 阅读 · 0 评论 -
有关分散加载文件scatter的理解 关键是加载域 加载地址与执行域地址的 处理
scatter基本点:1. 编译后输出的映像文件中各段是首尾相连的,中间没有空闲的区域,它们的先后关系是根据链接时参数的先后次序决定的 armlinker -file1.o file2.o ……2. scatter用于将编译后的映像文件中的特定段加载到多个分散的指定内存区域3. 有2类域region:执行域(execution region,一般是ram区域)和加载域(load region...转载 2019-06-03 15:22:02 · 1110 阅读 · 0 评论 -
RO,RW,ZI 和scatter file详解(转载)
要了解RO,RW和ZI需要首先了解以下知识:(1) ARM程序的组成 此处所说的“ARM程序”是指在 ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。 一个ARM程序包含3部分:RO,RW和ZI RO是程序中的指令和常量 RW...转载 2019-06-03 15:46:44 · 1719 阅读 · 0 评论 -
Image$$RW_IRAM1$$ZI$$Limit
RO段、RW段和ZI段 --Image????Limit 含义一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:...原创 2019-09-04 16:07:05 · 4791 阅读 · 1 评论 -
stm32_FSMC注意事项
关于FSMC总线的介绍前面已经略有介绍,在此不作赘述。只是简单说一下其配置过程既需要注意的几点问题:一、 FSMC内部结构和映射地址空间FSMC包含AHB接口、NOR Flash和PSRAM控制器、NANDflash和PC卡控制器、外部设备接口4个主要模块。在ST吗内部,FSMC的一端通过内部高速总线AHB连接内核,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB原创 2017-05-22 16:39:35 · 1269 阅读 · 0 评论 -
STM32—FMSC详解
这个是从网上找到的,内容如下:STM32 FMSC LCD难点解析:以下是网上和自己整理的:感觉应该可以把STM32 ----FSMC LCD中的关键RS说清楚~----------------------------------------------------------------------------------------------------------转载 2017-05-22 16:27:47 · 4395 阅读 · 0 评论 -
操作系统ready pend subpend区别
理解一:挂起是一种主动行为,因此恢复也应该要主动完成,而阻塞则是一种被动行为,是在等待事件或资源时任务的表现,你不知道他什么时候被阻塞(pend),也就不能确切的知道他什么时候恢复阻塞。而且挂起队列在操作系统里可以看成一个,而阻塞队列则是不同的事件或资源(如信号量)就有自己的队列。理解二:阻塞(pend)就是任务释放CPU,其他任务可以运行,一般在等待某种资源或信号量的时候出现。挂起(suspen转载 2016-12-12 15:53:12 · 998 阅读 · 0 评论 -
文科生清晰理解傅里叶变换
从数学的角度,提供一个形象有趣的解释。理解傅里叶变换的钥匙是理解基♂,它能让你重新认识世界。 1. 什么是基? 假设一个科研所有四个所长(一正三副),四个所长各司其职,把整个科研所的事物管理得井井有条。这四个所长,少一个,单位的工作无法顺利展开,多一个碍手碍脚事倍功半,他们四人一道就组成了科研所的一个“基”。 一个单位的基可能不是唯一的,四个人换换位置工作也能展开,调走一个人再换原创 2015-01-13 18:29:37 · 991 阅读 · 0 评论 -
Keil中 Program Size: Code RO-data RW-data ZI-data 所代表的意思 及.hex文件的含义
K是KB的简写,都是说文件大小的!1T=1024G;1G=1024M;1M=1024K;1K=1024byte实际上都是少写了一个B,也就是Byte! K是数值;而B是字节,KB是单位 KB是存储空间大小的单位,1KB=1024B=1024*8bit,1024KB=1MB,1024MB=1GB b=bit 表示“位” ,B=Byte 表示“字节”,1 Byte=8 bit --bit转载 2015-01-19 10:10:38 · 2453 阅读 · 0 评论 -
IOS模型分层网络协议
OSI模型是国际标准化组织ISO创立的。这是一个理论模型,并无实际产品完全符合OSI模型。制订OSI模型只是为了分析网络通讯方便而引进的一套理论。也为以后制订实用协议或产品打下基础。OSI模型共分七层:从上至下依次是应用层指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件表示层数据语法的转换、数据的传送等会话层 建立起两端之间的会话关系,并负原创 2015-01-19 12:32:00 · 1970 阅读 · 0 评论 -
ROM 、RAM和FLASH理解
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。 RAM 有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非原创 2015-01-20 15:24:56 · 1001 阅读 · 0 评论 -
BootLoader理解
在嵌入式操作系统中,BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由BootLoader来完成。在一个基于ARM7TDMI core的原创 2015-01-23 13:32:16 · 1408 阅读 · 0 评论 -
互斥量、临界区、信号量、事件标志组和消息邮箱
为了好的理解互斥量、临界区、信号量、事件标志组和消息邮箱,下面一些知识对初学者来说很重要: 为了实现各任务之间的合作和无冲突的运行,在有关联的任务之间必须建立一些制约关系。这些制约关系主要有两种:直接制约关系和间接制约关系。 直接制约关系源于任务之间的合作。例如,有两个任务:任务1和任务2,它们需要通过访问同一个数据缓冲区合作完成一项工作,任务1负责向缓冲区写入转载 2015-03-28 12:00:31 · 2499 阅读 · 1 评论 -
ucos2 事件 任务的通讯和同步 信号量 互斥量 消息邮箱 消息队列
这会想了想,在复习资料后,最后再做个核心代码分析ucos中使用信号量、消息邮箱、消息队列,这些数据结构来作为通信中间媒介。这些数据结构会影响任务的程序流程,因此也叫做事件。一、信号量是进行任务通信的最基本事件二值信号可以实现共享资源的独占,也叫互斥信号量。注意:使用信号量的时候要,高优先级的任务等待接受信号量的时候,高优先级的任务在等待接受信号量的时候,如果低优原创 2015-03-28 12:15:03 · 3919 阅读 · 0 评论 -
RO段、RW段和ZI段 --Image
Limit 含义一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成转载 2015-03-29 20:33:06 · 1492 阅读 · 0 评论 -
cotex m4 汇编指令集
16位数据操作指令 名字 功能ADC 带进位加法(ADD with Carry) ADD 加法 AND 按位与。这里的按位与和C的”&”功能相同 ASR 算术右移(Arithmetic Shift Right) BIC 按位清零(把一个数跟另一个无符号数的反码按位与) CMN 负向比较(把一个数跟另一个数据的二进制补码相比较) CMP 比较(Compa转载 2015-08-26 13:54:52 · 4026 阅读 · 0 评论 -
功率与dbm关系
功率W与dBm的对照表dBm Watts dBm Watts 0 1.0 mW 26 400mW 1 1.3 mW转载 2015-09-01 09:23:47 · 1792 阅读 · 0 评论 -
Keil调试STM32中解析main开始前的工作
Cortex M3的内核有三种启动方式,其分别是:A.通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2000000处;B.通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x8000000,同时复位后PC指针位于0x8000000处;C.通过boot引脚设置可以将中断向量表定位于内置Bootloade原创 2015-08-20 16:46:13 · 8371 阅读 · 0 评论 -
C语言在程序中内存
一、C语言程序的存储区域C语言编写的程序经过编绎-链接后,将形成一个统一的文件,它由几个部分组成,在程序运行时又会产生几个其他部分,各个部分代表了不同的存储区域:代码段(Code or Text):代码段由程序中的机器码组成。在C语言中,程序语句进行编译后,形成机器代码。在执行程序的过程中,CPU的程序计数器指向代码段的每一条代码,并由处理器依次运行。只读数据段(RO da原创 2015-10-15 16:03:43 · 1539 阅读 · 0 评论 -
嵌入式系统基础
1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet阶段。(3)知识产权核(IP核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(S转载 2016-07-12 20:45:42 · 1977 阅读 · 0 评论 -
ARM中的RO段、RW段和ZI段的区别
1 前言 一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。 要了解RO,RW和ZI需要首先了解以下知识。2 ARM程序的组成 此处所说的“AR转载 2016-07-12 20:51:37 · 517 阅读 · 0 评论 -
WireLess LowerPower 实现方法
工作模式设计 典型的无线收发机编码如下图。 PREAMBLE(前导码)SYNCWORD(同步码)ID FIELD(ID)可选DATA + FEC +CRC(数据 + 前向纠错 + CRC检错) 前导码为“1010”交替码,其作用是使目的接收机时钟与发射机同步,正常模式下前导码长度转载 2016-08-09 09:28:19 · 819 阅读 · 0 评论 -
嵌入式学习路线
原创 2015-01-13 18:30:16 · 533 阅读 · 0 评论