使用Eclipse开发嵌入式linux应用程序

1. 安装Eclipse for C/C++ developer的版本   2. 安装交叉编译工具链   若Eclipse使用不正常(如在新建工程的时候出现"Plug-in org.eclipse.cdt.ui was unable to load class org...

2014-07-04 17:01:42

阅读数 51

评论数 0

STM32启动过程分析

硬件: STM32F1系列 软件环境:Keil 4.54 注:本文中提到的RTOS以RT-Thread为例,不涵盖所有RTOS的情况   在Keil MDK中新建工程时会根据所选的device自动生成启动代码文件startup.s,该文件的作用可根据其头部的注释看出 This mod...

2014-06-28 20:25:16

阅读数 53

评论数 0

rt_mutex里owner的作用

在rt-thread源码中的rt_mutex_take()里有这样一段代码 if (mutex->owner == thread) { /* it's the same thread */ mutex-&gt...

2014-06-26 17:17:27

阅读数 43

评论数 0

RingBuffer - 原理与实现

1. 原理 参考http://blog.chinaunix.net/uid-9407839-id-3954445.html       环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据...

2014-06-26 17:05:15

阅读数 427

评论数 0

《Linux Kernel and Driver Development Training》笔记

附件是一篇介绍linux内核和驱动的英文slides,简明扼要,相比厚重的书籍更能突出重点,以下是基于该slides的一些笔记   linux内核源码查看(参考P59-P62): 1. 客户端方式:可利用Ubuntu12.04及之后版本自带的Kscope工具 2. Web方式:使用...

2014-06-24 23:02:24

阅读数 35

评论数 0

Vmware使用技巧

使用版本: Vmware player 6 主机:Windows7 宿主机:Ubuntu10.04   参考附件sitara-linuxsdk-gsg.pdf文档中的”How to Build a Ubuntu Linux host under VMware“一章(P13-P26) ...

2014-06-24 17:22:02

阅读数 22

评论数 0

I2C说明

          下图摘自NXP的SAA7144的手册       在写操作中,DATA传送完后slave器件内地址会默认自增,直到master产生stop信号。在读操作中,DATA传送完后若master产生了应答信号,则slave器件内地址自增,master不产生应答信号意味着mas...

2014-05-29 15:55:54

阅读数 29

评论数 0

Linux头文件

1.内核编程使用头文件   The base files are located in the include/ directory in the root of the kernel source tree. For  example, the header file &amp...

2014-05-23 11:52:40

阅读数 13

评论数 0

(转)可变参数宏(Variadic Macros)的应用

http://blog.csdn.net/hinyunsin/article/details/6546670   前言: 我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些...

2014-02-08 10:39:15

阅读数 9

评论数 0

mbed项目

mbed项目http://mbed.org/是由ARM公司sponsor的一个开源项目,使用Apache2.0许可证。 目前对NXP的demo板支持的比较多,还有一款Freescale的,ST最近刚加入。感觉和Arduino很类似,API抽象度很高,比较简洁(但相对于用STM32库函数编写的...

2013-12-25 16:30:16

阅读数 16

评论数 0

C语言中的大数(big integer)提升

第一个程序char.c   unsigned char x = 2; signed char z = 5; if((x-z)<0) printf("x-z<0\n"); else if((x-z)&...

2013-12-03 19:32:16

阅读数 39

评论数 0

C语言进阶

如何写出优美的C代码http://www.ibm.com/developerworks/cn/linux/l-cn-cobject/#author 用C语言实现持续的多态性http://www.ibm.com/developerworks/cn/linux/l-cn-cpolym/ C语言...

2013-12-01 12:26:44

阅读数 18

评论数 0

DS-5和MDK-ARM(Keil)

DS-5的历史演变:SDT-->ADS-->RVDS-->DS-5  MDK = MDK-ARM = KEIL for ARM = KEIL MDK = Realview MDK 概念澄清参考http://www.myir-...

2013-11-14 11:04:52

阅读数 83

评论数 0

MDK-ARM 分散加载文件

    Scatter Loading分散加载文件的概念http://www.keil.com/support/man/docs/armlink/armlink_Cegbbcjj.htm     Image映像文件组成http://www.keil.com/support/man/docs/...

2013-11-13 16:19:33

阅读数 89

评论数 0

STM32-Debug相关(Keil+Jlink/ST-Link)

    Serial Wire Debug(SWD) is a two pin alternative to JTAG and has about the same capabilities except Boundary Scan is not possible.       ST-Li...

2013-10-11 10:44:15

阅读数 184

评论数 0

STM32-ADC相关

1.多路ADC配合使用DMA http://blog.csdn.net/jdh99/article/details/7815268 官方的Firmware library(V3.5)里只有一个channel的example,可参考AN3116--STM32™’s ADC modes an...

2013-09-03 19:22:13

阅读数 16

评论数 0

STM32-Timer相关

 1.TimeBase结构体参数试用范围     根据stm32f10x_tim.c库文件,在使用TimeBase功能的初始化结构TIM_TimeBaseInitStruct中     TIM_CounterMode适用于TIM1~TIM5,TIM8     TIM_ClockDivis...

2013-08-29 19:13:25

阅读数 15

评论数 0

回调函数

http://learn.akae.cn/media/ch24s05.html   一般情况下参数类型都是由实现者规定的,而回调函数的参数按什么类型解释由调用者规定,对于实现者来说就是一个void *指针,实现者只负责将这个指针转交给回调函数,而不关心它到底指向什么数据类型。   在底...

2013-08-15 14:31:19

阅读数 14

评论数 0

STM32-Misc

1. STM32不使用外部晶振时OSC_IN和OSC_OUT的接法 如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理:1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。2)对于少于100脚的产品,有2种接法:  2.1)OSC_IN和OSC_OUT分别通过1...

2013-08-14 17:07:21

阅读数 192

评论数 0

STM32-中断相关

STM32 为了适应不同的优先级组合,设置了 GROUP 的概念,组是一个大的框架,在组下分别分配了占先优先级与副优先级。每一个中断都有一个专门的寄存器(Interrupt Priority Registers)来描述该中断的占先式优先级及副优先级。在这个寄存器中STM32 使用4个二进制位描...

2013-07-30 19:39:18

阅读数 16

评论数 0

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