ARM
文章平均质量分 88
会飞行的小蜗牛
这个作者很懒,什么都没留下…
展开
-
FreeRTOS 临界区总结
当一名嵌入式开发人员从裸机开发切换到 基于 FreeRTOS 的开发后就要注意 中断,资源竞争等等问题了。 下面,总结一下 FreeRTOS 临界区的知识及用法: 1. 应该程序使用临界区 1.1 深入剖析的方法:taskENTER_CRITICAL() -> portENTER_CR原创 2017-08-31 18:40:51 · 12443 阅读 · 1 评论 -
SourceInsight 换行缩进过度的解决方法
问题描述:原创 2014-06-22 09:41:31 · 6653 阅读 · 1 评论 -
STM32串口一直进中断解决方法
今天在使用USART模块,遇到了一些问题并解决了,于是发贴共享。问题描述:在使用USART做串口通讯时,我只把接收中断打开,并设置抢占优先级为最低一个级别,而接收中断上一个优先级处理事情比较多,可能占用了2ms时间。当我使用9600波特率往下位机发送数据,速度非常快,就是一直按回车发!问题就出来,不到1分钟时间,通讯没有反应了。USART配置代码如下:转载 2014-06-14 00:11:27 · 23357 阅读 · 11 评论 -
关于结构体初始化的相关总结
1. 这样定义并初始化是可以的原创 2014-05-24 20:39:37 · 1645 阅读 · 0 评论 -
ADS1.2与Keil4.6以上版本的共存问题
最近安装了Keil 4.73的最新版本,却莫名其妙的出现了与ADS 1.2软件不兼容的情况,/*******************************************************************************************************************如果以前玩过ARM7,使用过ADS软件,那么安装新版本的keil(4转载 2014-03-05 23:57:53 · 1515 阅读 · 0 评论 -
stm32 串口发送数据第一字节丢失
使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。查阅stm32f10x参考手册,找到这样一句话: TC:发送完成 当包含有数据的一帧发送完成后,由硬件将该位置位。如果USART_CR1中的TCIE为1,则产生中断。由软件序列清除该位(先转载 2013-12-23 21:54:37 · 1250 阅读 · 0 评论 -
Ucos-II 数组OSUnMapTbl[]表中值是如何计算得来的?
为了保证系统的实时性,在就绪表这一块,内核设计者设计了一种算法,这个算法在O(1)的时间里完成查找就绪表中最高优先级的任务(遍历就绪表来查找最高优先级的做法是不能保证实时性要求的)。关于就绪表,这里涉及到四个数据结构,分别是:OSRdyGrp、OSRdyTbl[]、OSMapTbl[]和OSUnMapTbl[]。前两者是全局变量(INT8U),OSRdyTbl[]数组的大小取决于OS_LOWEST原创 2013-08-15 23:43:32 · 1573 阅读 · 0 评论 -
Source Insight中添加支持自定义格式文件能打开的方法
原创 2013-06-07 22:49:03 · 1093 阅读 · 0 评论 -
Windows7 系统 VM 中安装 Ubuntu 后配置其上网方法
原理:主要是要保证 PC 机的物理网卡与 虚拟机的网卡位于同一个网段1. 网首先对 Win7 系统下 VM 的 net1 卡进行如下设置:2. 其次对 Win7 系统下 VM 的 net8 卡进行如下设置3. 虚拟机中 VM -> Settings -> Network Adapter 做如下设置原创 2013-05-08 21:41:46 · 716 阅读 · 0 评论 -
TI Davinci DM6446 开发环境搭建
声明:是参照了这位博客的文章http://zjbintsystem.blog.51cto.com/964211后自己的总结! TI DAVINCI DM6446的开发环境搭建不像三星S3C2410,S3C2440,ATMEL的AT91SAM9260之类的单核ARM那么简单,因为DM6446还有DSP端的开发环境,以及双核之间的通信和程序编译等问题,所以开发攻略第一步就是原创 2012-03-10 15:26:46 · 1482 阅读 · 0 评论 -
Davinci DM6446之linux-2.6.18移植
TI DAVINCI 使用最新的内核是montavista linux-2.6.18,之前说过,国内很多公司,包括开发板的软件包,一直在使用montavista linux-2.6.10,这个版本准确来说是比较低的,实时性肯定没2.6.18好(MontaVista Linux Professional Edition 5.0以linux-2.6.18为基础,打破了Linux不适用于实时原创 2012-03-12 14:15:19 · 752 阅读 · 0 评论 -
XP 即可以连接外网 又可以与开发板 和 虚拟机通信的方案
前提:XP 是连接在交换机上的方法:1. 先将 XP 的 IP 地址设置为静态的可以上外网的 IP 如我的在校园网上的 IP 为219.223.242.120, 子网掩码为255.255.255.0,默认网关为:219.223.242.1DNS:219.223.242.1 和 8.8.8.82. 点下图所示的“高级”选项 点击第一个“添加”按钮,添入“1原创 2012-05-13 20:14:05 · 449 阅读 · 0 评论 -
UART0串口编程系列
参考地址在http://blog.csdn.net/tigerjb/article/details/6153810转载 2012-04-08 11:17:39 · 507 阅读 · 0 评论 -
模拟电子
电路中电源命名原则在看芯片资料和电路原理图中常常遇见诸如VCC,VDD之类的标志,它们究竟是如何这样命名的呢?它们的命名有如何含义呢?经过查资料才发现它们是这样的: VCC表示连接到三极管集电极(C)的电源。 VEE表示连接到三极管发射极(E)的电源。 VDD表示连接到场效应管的漏极(D)的电源。 VSS表示连接到场效应管的源极(S)的电源。通常VCC和VDD为电源正,而VEE和VSS转载 2012-04-03 01:52:47 · 667 阅读 · 0 评论 -
keil 4.22 调试的时候,watch中添加的变量为什么不是实时更新的?(解决了)
解决方法如下:原创 2014-08-05 23:55:00 · 9454 阅读 · 2 评论 -
嵌入式linux2.6平台搭建——bootloader、Linux内核、根文件系统、开源工程
网址:http://blog.csdn.net/xdw1985829/article/details/6685001原创 2014-11-11 00:01:35 · 452 阅读 · 0 评论 -
arm-linux-gcc 裸机程序开发(二)
arm-linux-gcc 裸机程序开发(一)arm-linux-gcc 裸机程序开发(一) arm-linux-gcc 裸机程序开发(一)arm-linux-gcc 裸机程序开发(二)http://blog.csdn.net/yaozhenguo2006/article/details/6952472转载 2014-12-26 00:05:36 · 489 阅读 · 0 评论 -
STM32 DMA 多通道 ADC 采集
1. 本次实践目标 a. 完成外部 ADC 的采集, 连接引脚为 PC2 b. 完成 STM32 内置温度传感器 ADC 的采集 c. ADC 的采集必须以 DMA 的方式工作,通过 FreeRTOS 系统中创建的一个进程读取采集结果,并打包通过网络发送至上位机2. 查看 datasheet 2.1 确认 STM32 内部温度传感器原创 2017-08-27 18:15:22 · 16899 阅读 · 6 评论 -
JLINK flash timeout.Reset the tatget and try it again 解决
如果在程序中打开了Flash读保护:FLASH_ReadOutProtection(ENABLE);再次用jlink下载程序时会出错:flash timeout.Reset the tatget and try it again解" style="margin:0px; padding:0px; border:0px; list-style:none">flash timeout.原创 2017-01-15 12:07:45 · 14730 阅读 · 7 评论 -
IAR 源代码拷贝到 MDK 乱码问题的解决办法
1. 现象:IAR 的源代码中的中文注释拷贝到 MDK 后会变成乱码2. 原因分析: IAR 软件默认使用 utf-8 编码,MDK 软件默认使用 ANSI 编码3. 解决办法: 将 IAR 中代码先拷贝到 notepad++ 中,按如下方法转换为 GB2312 编码 然后,再将转换完的代码拷贝到 MDK 中即可原创 2016-11-27 22:25:00 · 4213 阅读 · 0 评论 -
keil4程序从JLINK8下载后,不能运行,需要重启的原因
keil4 -> Options for target -> utilities -> Flash Download -> Reset and run(选中这个)原创 2016-10-30 00:21:19 · 3090 阅读 · 1 评论 -
使用 IAR for ARM 的一些心得
1. 工程中 ARM芯片选型 2. Include 目录配置 3. 配置程序在 Flash / RAM中运行 4. 配置 J-Linker仿真器 5. 修改 IAR 显示修改左侧 Project 显示字体修改编辑文档字体6. IAR6.2以后的版本编译IAR6.2以前的版本会出现如下错误: Error[Pe1原创 2016-11-06 21:31:42 · 7545 阅读 · 0 评论 -
H-Jtag V1.0 烧写NOR Flash
1. 打开H-Jtag-ServerInit->load,选择初始化脚本“FriendlyARM2440.his”->"打开"2. 菜单中选择“Settting”->"USB/LPT Selectiojn",选择 LPT3. 菜单中选择“Settting”->"LPT JTAG Setting",做如下设置4. 菜单中选择“Control”->"LPT JTAG Settin原创 2016-11-06 13:54:38 · 529 阅读 · 0 评论 -
IAR EWARM 破解方法
首先从官网下载安装包:http://www.iar.com/Service-Center/Downloads/如下图,点击编译大小限制的版本下载,这样容易检测是否破解成功!EWARM 破解方法" title="IAR EWARM 破解方法" style="margin:0px; padding:0px; border:0px; list-style:none">下载,安原创 2016-11-03 23:44:06 · 1259 阅读 · 0 评论 -
2440 上移植串口工具 lrz
lrzsz串口工具移植到ARM Linux教程 应用移植 2年前 (2014-11-10) 5265浏览 1评论lrzsz是一个Unix通信包,提供XMODEM、YMODEM和ZMODEM文件传输协议。lrzsz以前是Omen科技的主打软件,现在已经免费,并且遵循GNU开源协议。lrzsz适合这样一种开发环境,一块板子,除了串口,没有任何外部出入输出设备,没有sd卡,没有网转载 2016-05-29 22:33:20 · 1801 阅读 · 0 评论 -
ARM开发板挂载 U盘 和 SD 卡
开发板挂载U盘1. 使用读卡器,插入SD卡后,将读卡器插入开发板2. 查看U盘信息# fdisk -l显示内容Disk /dev/sda: 16.0 GB, 16009658368 bytes255 heads, 63 sectors/track, 1946 cylindersUnits = cylinders of 16原创 2016-05-29 14:23:06 · 8611 阅读 · 0 评论 -
nRF51822学习笔记–硬件外设篇【1】
开始在我的博客更新nRF51822的学习笔记了,玩51822这么久一直都在蓝牙软件层玩,硬件这块特别陌生所以这次准备先把硬件过一遍。然后再更新软件篇的教程。很多笔记都存在为知笔记里,只先整理了一篇发出来后续有空会继续发。有错的地方大家请指出,欢迎讨论交流。一、介绍一下nRF51822片上资源CPU: 32-bit ARM® Cortex™ M0 32-bit CPU转载 2015-08-24 21:55:51 · 17302 阅读 · 0 评论 -
error:#5:cannotopensourceinputfile"stm32f10x_lib.h":Nosuchfileordirectory
问题现象:test.c(1):error:#5:cannotopensourceinputfile"stm32f10x_lib.h":Nosuchfileordirectorycompilingdelay.c.....\SYSTEM\delay\delay.c(1):error:#5:cannotopensourceinputfile"stm32f10x_lib.h":Nosuchfi原创 2015-07-12 17:41:21 · 15501 阅读 · 2 评论 -
linux中 likely与unlikely
看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_e转载 2014-12-28 11:13:15 · 375 阅读 · 0 评论 -
make uImage 和make zImage的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0×40之后与zImag转载 2014-12-26 00:02:15 · 1510 阅读 · 0 评论 -
AMR中宏的使用与结构化内存表的建立
参照这位博主的文章地址http://blog.csdn.net/cangencong/article/details/6911263转载 2012-04-03 01:20:17 · 410 阅读 · 0 评论 -
s3c2440 外中断的按钮实现
根据TQ2440开发板的原理图,按键接的是S3C2440可用于外部中断的EINT0,1,2,4引脚,GPFCON可以设置这些引脚的功能。EXTINT0寄存器可以设置这四个引脚的中断产生的条件,需要注意的是EINT0~2都有自己的中断向量,而EINT4~7则共用一个中断向量。因此使用EINT4时还要在EINTMASK寄存器开相应中断允许位,进入EINT4中断后还要清EINTPEND寄转载 2012-04-02 20:09:49 · 448 阅读 · 0 评论 -
pcb-dxp
PCB设计规则(DRC)设置设计规则(DRC)(一)、PCB设计的基本原则: PCB设计规则分为10个类别 1、布局原则(1)、元件的布局要求均衡,疏密有序,避免头重脚轻。(2)、元件布局应按照元件的关键性来进行,先布置关键元件如微处理器、DSP、FPGA、存储器等,按照数据线和地址线的走向,就近原则布置元件。(3)、存储器模块尽量并排放置,以缩短走线长度。(4)、尽可能按照信号流向进转载 2012-04-03 01:54:39 · 814 阅读 · 0 评论 -
单片机的C语言中位操作用法
一、前言 在对单处机进行编程的过程中,对位的操作是经常遇到的。C51对位的操控能力是非常强大的。从这一点上,就可以看出C不光具有高级语言的灵活性,又有低级语言贴近硬件的特点。这也是在各个领域中都可以看到C的重要原因。在这一节中将详细讲解C51中的位操作及其应用。 二、位运算符 C提供了几种位操作符,如下表所示:运算符含义运算转载 2012-03-30 00:52:23 · 759 阅读 · 0 评论 -
TFTP服务器安装与使用
TFTP服务器安装操作系统:RedHat Enterprise Linux 5 Abstract 在嵌入式开发中有宿主机和目标机之分:宿主机是执行编译、链接嵌入式软件的计算机;目标机是运行嵌入式软件的硬件平台。 TFTP服务器作为工作于宿主机的软件,主要提供对目标机的主要映像文件的下载工作。Solution一.TFTP服务器的安装 利用以下命令就可以看到原创 2011-12-13 23:23:16 · 673 阅读 · 0 评论 -
UBOOT移植中DM9000AEP网卡驱动终于搞定
从六月末就开始了UBOOT移植,开始遇到的问题就是DM9000移植不成功,开发板PING不能通主机,一PING主机,LCD屏就会出现一条黑线,接着慢慢变白。我打开了DEBUG,但是无济于事,打开后仍然是:[u-boot@MINI2440]# ping 192.168.0.16dm9000_initresetting DM9000一步步研究转载 2012-03-09 08:56:38 · 809 阅读 · 0 评论 -
H-Jtag V1.0 烧写NOR Flash
一、先探测ARM芯片是否能找到1. 打开H-Jtag-ServerInit->load,选择初始化脚本“FriendlyARM2440.his”->"打开"2. 菜单中选择“Settting”->"USB/LPT Selectiojn",选择 LPT3. 菜单中选择“Settting”->"LPT JTAG Setting",做如下设置4. 菜单中选择“Control原创 2012-01-07 10:39:25 · 3232 阅读 · 0 评论 -
ADS 开发环境的建立及使用
一、ADS安装破解1. 首先安装“ADS1.2”2. 破解文件在“CRACK”目录下,LICENSE即为破解文件二、使用(基于S3C2440,内核为ARM920T)1. 新建工程File->New->Project,选择"ARM Executable Image",添加工程名及路径2. 右键鼠标“Add Files”,选择已经写好的C、汇编程原创 2012-01-11 11:24:16 · 1177 阅读 · 0 评论 -
关于ARM使用AXD编程H-Jtag问题的总结
如果想用AXD的在线单步调试功能,需要使用带wiggler功能的H-Jtag仿真器,例如uCdragon(优龙H-Jtag仿真器),而如果选用Easy H-Jtag是不能单步在线调试的。原创 2012-01-10 14:53:02 · 623 阅读 · 0 评论 -
ARM串口硬件及软件测试
转发请注明出处 从51开始就深受串口的打击,先是从华强买来的MAX232本来就是坏的,结果以为是自己电路或者原理图有问题,由于也没有一个好用的串口,就想着所有从自己开始,从最小系统板到后来的外围电路,后来验证是芯片不好使。之后又发现公头,母头在设计电路上还有讲究。在ARM设计时还需要将电平转换芯片换成MAX3232,即驱动电压为3.3V的芯片。接下来做一些串口调试原创 2012-01-09 21:40:35 · 1693 阅读 · 0 评论