嵌入式
文章平均质量分 59
stephen_kl
现在不学,更待何时……
展开
-
Keil MDK下如何设置非零初始化变量
RAM转载 2023-02-01 11:16:43 · 536 阅读 · 0 评论 -
STM8的bootloader中断向量重定义
网上看了很多例子,也不甚明白都是怎么解决的,下面把自己调试的过程记录一下我也使用到了下面这种办法处理__root const long reintvec[32]@".intvec"={ 0x82008080,0x8200a004,0x8200a008,0x8200a00c, 0x8200a010,0x8200a014,0x8200a018,0x8200a01c, 0x8200a020,0x8200a024,0x8200a028,0x8200a02c, ...原创 2021-07-16 11:24:40 · 805 阅读 · 0 评论 -
Lin2.1通信协议入门解析_笔记
概述本文对Lin的特征,物理层,协议层和应用层进行说明。1.Lin简介1.1Lin通信节点主要有物理层,协议层,应用层三大部分。原创 2021-05-30 12:47:06 · 923 阅读 · 0 评论 -
KEAZ128 时钟配置
本文介绍如何用KEAZ128评估版(FRDM-KEAZ128Q80)配置为40MHz core freqency/20MHz bus frequency。1.了解器件时钟特性参见NXP KEA128 DS(S9KEA128P80M48SF0.pdf),可以知道这个MCU最高支持48MHz core frequency.从KEA128 RM(KEA128RM (中文).pdf),可以知道KEA128各个时钟名称及频率等特性。这里需要注意,设置的配置内核时钟频率(40MHz)不能超过最...转载 2020-09-09 13:51:42 · 2155 阅读 · 1 评论 -
AM335x(TQ335x)学习笔记——u-boot-2014.10移植
http://blog.csdn.net/girlkoo/article/details/41183217最近打算移植uboot2015.07到TQ3358平台,在这个帖子里看到了如何移植uboot的介绍,这对于uboot2015后续的版本也有帮助,在此留个记录,这个帖子的下面还有些回复也值得参考。最近移植了下u-boot-2014.10到TQ335x,如果基于am335x e转载 2016-05-27 15:08:41 · 1733 阅读 · 0 评论 -
ubuntu14.04的error while loading shared libraries: libz.so.1问题
原文地址: http://snailszzy.blog.163.com/blog/static/9439909320145954030703//opt/EmbedSky/4.4.6/lib/gcc/arm-embedsky-linux-gnueabi/4.4.6/../../../../arm-embedsky-linux-gnueabi/bin/as: error while loadi转载 2015-05-11 16:04:35 · 15823 阅读 · 0 评论 -
AM335X工控应用网络扩展技术详解-DM9000C
http://forum.eepw.com.cn/thread/220559/1 1, 工业多以太网网络应用工控板在工业领域应用了10多年,应用领域广,技术成熟。但是局限性也越来越突出。越来越多的设备要求低功耗,无风扇,无散热器,更宽的温度范围,更小的体积。这给处理能力越来越强的ARM处理器在工业领域带来无限应用空间。以太网是通讯应用最广泛的通讯方转载 2014-10-13 10:03:33 · 2323 阅读 · 0 评论 -
AM335x SPL
原文地址:AM335x SPL 作者:Peter_Lee_CNAM335x bootloader :1st stage:RBL (ROM)2st stage:SPL (内部RAM:0x402f0400)3st stage:U-Boot (一般外部DDR)SPL是bootloader的第二部分,由RBL引导运行,主要目的就是引导U-Bo转载 2014-09-25 16:35:10 · 4157 阅读 · 0 评论 -
CC2430 CC2530 AD转换分辨率之“争”
http://blog.csdn.net/xukai871105/article/details/7318886CC2430 CC2530 片内AD转换详解1 本周五开始就开始学习CC2430的AD转换模块。看似简单,但是费了我休息日全部的时间。其中最严重的问题——这个片内的AD转换的分辨率到底是多少位,12位还是14位。 开门见转载 2014-03-14 11:43:10 · 5926 阅读 · 0 评论 -
TQ335x开发板U-boot2015.07移植
硬件平台:TQ335X_BOARD_V2.1软件环境:VMWARE10+UBUNTU14.04编译器:gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihfUBOOT版本:2015.07打开board\ti\am335x\board.c文件修改如下:static int read_eeprom(struct am3原创 2016-05-31 20:42:49 · 2372 阅读 · 3 评论 -
TQ335X开发板内核3.17.2移植和busybox移植
硬件平台:TQ335X_BOARD_V2.1软件环境:VMWARE10+UBUNTU14.04KERNEL:3.17.2Busybox:1.20参考http://blog.csdn.net/girlkoo/article/details/41223733http://blog.csdn.net/girlkoo/article/details/87原创 2016-05-31 21:45:05 · 3879 阅读 · 4 评论 -
嵌入式工程师经典面试题
http://bbs.elecfans.com/jishu_528921_1_1.html上个星期,去深圳一家搞ARM开发的公司面试,HR叫我做了一份卷子,里面都是C编程,心中暗喜,因为这些题基本上都在程序员面试宝典里见过。后来回到学校,在网上搜索,原来这些题都是嵌入式工程师的经典面试题目,很多网站上都可以找得到。现把他贴出来,附上网上的答案,跟大家分享,因为这些题实在太经典了。预转载 2016-05-18 14:47:19 · 6262 阅读 · 6 评论 -
PID控制算法的C语言实现一 PID算法原理
转自 https://blog.csdn.net/u010312937/article/details/53363831PID控制算法的C语言实现一 PID算法原理 最近两天在考虑一般控制算法的C语言实现问题,发现网络上尚没有一套完整的比较体系的讲解。于是总结了几天,整理一套思路分享给大家。 在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID...转载 2018-05-08 14:19:35 · 8381 阅读 · 1 评论 -
ubuntu下sublime text3安装及中文偏下问题
https://blog.csdn.net/qq_19175749/article/details/78917753 1.安装方法1)使用ppa安装sudo add-apt-repository ppa:webupd8team/sublime-text-3sudo apt-get updatesudo apt-get install sublime-text-inst...转载 2018-07-13 10:41:03 · 972 阅读 · 0 评论 -
ubuntu 14.04 + vim + ctags + taglist安装与使用
https://blog.csdn.net/yzhang6_10/article/details/68067521 安装ctags,执行如下命令: sudo apt-get install exuberant-ctags注意:也可以使用源码安装 安装taglist,具体步骤如下: 1.下载taglist,具体网址如下:http://www.vim.org/script...转载 2018-08-16 09:24:32 · 472 阅读 · 0 评论 -
二值信号量和互斥锁到底有什么区别?
原文链接:https://www.cnblogs.com/codescrew/p/8970514.html在说明之前我先抛出结论:互斥锁和二值信号量在使用上非常相似,但是互斥锁解决了优先级翻转的问题假定我们现在有三个任务,task1,task2,task3,任务优先级task1最高,然后依次降低。我们知道在系统调度的时候当两个任务同时处于就绪态的时候,系统会优先执行优先级高的任...转载 2019-07-16 14:52:33 · 383 阅读 · 0 评论 -
__attribute__((packed))详解
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} sizeof(int)...转载 2019-09-16 21:38:50 · 773 阅读 · 0 评论 -
CC2430 串口使用详解
http://blog.csdn.net/xukai871105/article/details/7303584为了完成课题,最近下定决心学习CC2430。网上的资料很多,重复的部分不做过多的介绍,没有的部分做一下少许的补充,希望对大家有用!【建议各位使用更新的CC2530,该芯片为CC2430的替代版本】全部代码如下,先看一下整体![cpp] view plaincopy转载 2014-03-13 14:45:49 · 2440 阅读 · 0 评论 -
IAR编译ZStack-CC2530,生成HEX文件完全配置
http://blog.csdn.net/liyvhg/article/details/6455403这两天来一直在做Zstack-CC2530的实验,读了手册也看了教程,却怎么也做不出应该有的结果,以为是自己改了协议栈的源代码,一度把协议栈删除又安装N次,IAR(7.51A)卸载重装,要不是电脑里面装了Visual Studio 2008 Teamedition以及一大堆的硬连接到第转载 2014-03-13 15:03:14 · 1149 阅读 · 0 评论 -
CC2430的串口的位置1或2选择问题
调试2430的串口打印问题时,发现一些设置问题原来串口在使用前先要设置选择哪个口,意思就是P0和P1上各8个脚,P0的2、3可以作为串口0,P0的4、5可以作为串口1;P1的4、5叫也可以作为串口0,P1的6、7也可以作为串口1.所以串口0的位置1就是指P0口的串口0引脚连接,串口0的位置2就是指P1口的串口0引脚连接.同样串口1也是这个意思。初始化函数如下: P原创 2014-03-13 14:30:10 · 2760 阅读 · 0 评论 -
设置PATH环境变量
在 Ubuntu 系统中有两种设置环境变量 PATH 的方法。第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH。 第一种方法: 在用户主目录下有一个 .bashrc 文件,可以在此文件中加入 PATH 的设置如下: export PATH=”$PATH:/your path1/:/your path2/…..” 注意:每一个 path 之间要用 “:“ 分隔。转载 2009-08-27 10:49:00 · 673 阅读 · 0 评论 -
嵌入式系统中Cache一致性问题分析
<br />http://www.embedcity.com/article.php?id=240<br /><br /><br /> Cache即高速缓冲存储器,是一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。Cache的出现是基于两种因素:首先,是由于CPU的速度和性能提高很快而主存速度较低且价格高,第二就是程序执行的局部性特点。因此,才将速度比较快而容量有限的SRAM构成Cache,目的在于尽可能发挥CPU的高速度。很显然,要尽可能发挥CPU的高速度就必须用转载 2010-09-07 11:02:00 · 1750 阅读 · 0 评论 -
Uncompressing Linux...done, booting the kernel解决办法
u-boot是好的,是刚移植成功的,用其他的内核跑过没问题。所以皇莡-boot传参有问题,问题就是出在我移植的内核上面。我用的是mini2440的配置,linux2.6.35的内核。网上找了很多资料试了都没有,开了CONFIG_DEBUG_LL(这个选项是在Kernel hacking里面,需要你打开Kernel low-level debugging functions & Kernel Low转载 2011-06-14 13:27:00 · 1668 阅读 · 0 评论 -
YAFFS2移植的曲折过程
前段时间因为移植QT,板子上的RAMDISK已经显得力不从心了。添加yaffs文件系统支持成为必需。可能是自己点比较悖,YAFFS的移植过程挺曲折的。费了三天时间终算搞定了。像大多数人一样,一开始基本是按照网上牛人们的文章操作。包括准备源码包,修改内核编译选项,修改内核代码,编译工具软件。这些东西重复起来也没意思。。这里只是说说遇到的问题及解决方法:首先我的内核版本是2.6.18,YAFFS源转载 2011-06-15 14:25:00 · 3318 阅读 · 0 评论 -
可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ")
【已解决】可执行程序无法在Linux上运行,显示line 1: syntax error: word unexpected (expecting ")")【问题】用arm-linux-gcc编译出来的可执行文件clkCtl,下载到板子上,在Linux下不能运行:./clkCtl:转载 2011-07-28 16:28:14 · 3664 阅读 · 1 评论 -
关于ARM的22个常用概念--的确经典
关于ARM的22个常用概念--的确经典来自:http://mayer.spaces.eepw.com.cn/articles/trackback/item/64854 1.ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;转载 2011-10-26 13:24:07 · 106 阅读 · 0 评论 -
我在linux主机用arm-linux-gcc编译后,复制到开发板根目录运行,出现/bin/sh: ./hello not found
原因是:板子上没有运行程序所需要的库,查看所需要的库的方法是readelf -a hello | grep NEEDED,出来的内容就是需要的库,确保你的开发板上有这些库。解决方法:方法1、 把这些所需要的库拷贝到板子上,保证板子上找得到。方法2、 编译的时候使用静态编译,arm-linux-gcc -o hello hello.c -static转载 2012-01-12 16:22:01 · 1724 阅读 · 0 评论 -
mini210使用tftp功能
mini210自带的内核里面包含dm9000的网卡驱动编译进去烧入开发板接入网线,看到网口的灯在闪烁,说明网卡驱动已经加载内核启动,进入root,发现使用的是toolbox查看which toolbox显示在system/bin下面 到网上下载最新的busyboxARCH ?= armCROSS_COMPILE ?=arm-none原创 2012-04-18 16:52:17 · 890 阅读 · 0 评论 -
Linux Kernel and Android 休眠与唤醒(request_suspend_state)
http://blog.chinaunix.net/uid-21091200-id-1830745.htmlTable of Contents简介国际化版本信息对于休眠(suspend)的简单介绍Linux Suspend 的流程相关的文件:准备, 冻结进程让外设进入休眠ResumeAndroid 休眠(suspend转载 2012-05-04 17:16:51 · 5197 阅读 · 0 评论 -
mini210的uboot编译使用
http://www.arm9home.net/read.php?tid-16001.html 1 . 下载源代码包:可以在通过下面链接下载源代码:https://gitorious.org/opencsbc/u-boot/archive-tarball/mini210_linaro-2011.10-stable或者通过git获取源代码仓库$git clone gi转载 2012-04-19 20:09:48 · 1861 阅读 · 0 评论 -
mini2440 root_qtopia 文件系统启动过程分析
http://www.arm9home.net/read.php?tid-1702-fpage-0-toread--page-1.html对于mini2440最新的root_qtopia文件系统启动过程,我在这里做了一些简单的分析,和大家分享一下经验,不足之处也请大家及时指出。 其实,虽然root_qtopia这个文件系统的GUI是基于Qtopia的,但其初始化启动过程却是由大部分转载 2012-11-14 14:10:47 · 817 阅读 · 0 评论 -
电阻屏工作原理--ADS7843的使用
http://www.ebnar.cn/article/2011-9-6/405-1.html人机界面触摸屏专题—触摸屏的工作原理 触摸屏是一种简单、方便的输入设备,它的应用随着信息社会的发展越来越普遍。为了操作方便,人们用触摸屏代替鼠标或键盘,根据触笔点击的位置来定位选择信息输入。目前在高档PDA上,绝大部分都使用触摸屏转载 2013-09-03 14:52:42 · 8072 阅读 · 0 评论 -
IAR编译CC2430例程错误解决方案
Problem of zstack with newer version of IAR compilerQ:When I make the project work with version 7.60 of IAR Embedded Workbench,after rebuild all,I got the following error msg:Fatal Errro[e转载 2014-01-09 16:56:17 · 3576 阅读 · 0 评论 -
2440的串口发送中断的总结
最近在调试2440的串口发送中断,遇到了不少的问题,现根据调试的结果总结一下:不知道是2440的硬件设计问题,还是我没有弄明白它这么设计的根据或者使用方法,总之遇到了不少问题。根据遇到的问题得出三个结论(我认为的结论),如果你使用了串口的发送中断,并开启了FIFO功能,那么在配置上需要注意1、UCON的Transmit Mode必须一开始就打开,而且后面不需要关闭,除非原创 2014-02-24 15:11:16 · 2542 阅读 · 0 评论 -
ARM串口传输中断的pulse方式与level方式的区别
中断模式有两种,pulse模式的意思是当FIFO中的数据量刚到达所要求(trigger level)的时候会产生中断,该中断只在那一刻产生,如果那时cpu还在处理上一次的中断而把该中断mask掉,那么该中断就回被丢掉,而FIFO中的数据就会一直增加到溢出;level模式的意思是只要FIFO中的数据达到所要求的时候就会产生中断,包括比所要求的多的时候,只要cpu在FIFO中的数据在溢出之前处理完上一转载 2014-02-11 16:39:45 · 3215 阅读 · 0 评论 -
S3C2440串口FIFO模式的中断机制和处理策略
陈海生,郭晓云,邓锐,王峰,陈亮1. 广东海洋大学 信息学院, 湛江524000; 2. 广东海洋大学 智能工程研究所摘要:为了研究基于S3C2440的串口FIFO模式的中断机制和相应处理策略,采用实验方法验证了该模式的发送中断的触发时刻是当批量字符从FIFO中移出,直到FIFO中剩下与触发深度设置值相等数目的字符的时候。修正了中文使用手册认为“当批量字符从FIFO中移出,发送转载 2014-02-14 14:30:09 · 5208 阅读 · 1 评论 -
在Ubuntu7.10上编译android
转自老大blog:http://blog.csdn.net/fmddlmyy/archive/2008/10/29/3178462.aspx1 概述上个星期看到android开放源代码的消息,虽然觉得Google的这个动作会对业界产生很大影响,但没有时间仔细看,只浏览了 Project layout。今天上午一个网友在mail中说已经编译、运行过android。我趁着中午休息时间,在一个Ubu转载 2008-11-04 13:56:00 · 805 阅读 · 0 评论