- 博客(13)
- 收藏
- 关注
原创 修改通过fork生成的进程名
#include int main(char argc[],int argv){ unsigned int i = 0; unsigned int pid1,pid2; if(0 == fork()){ prctl(PR_SET_NAME,"Child",NULL,NULL,NULL); for(;;){
2013-07-15 15:27:26 4689 1
原创 Linux驱动开发常用调试工具-------之devmem
在Linux开发中着实用到的调试工具并不是很多。devmem的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检测驱动中对内存或者相关配置的正确性验证。如下就贴出devmem2的源代码一探究竟。#include #include #include #include #include #include #include #include #i
2013-07-03 15:16:12 8065
原创 Linux驱动API之register_chrdev
register_chrdev--->为字符型驱动申请主设备号函数原型:int register_chrdev (unsigned int major, const char * name, const struct file_operations * fops);参数1:major需
2012-05-28 15:09:14 924
原创 Linux 错误类型
#define EINVAL 1 /* Invalid argument */#define EFAULT 2 /* Bad memory reference */#define ENAMETOOLONG 3 /* String too long */#define ENOME
2011-06-10 10:27:00 1256
原创 STM32之USART(one)
USART我们一般是用在调试程序时输出调试信息,或者是用来做串行通讯。看到ST的手册USART的功能有多么强大,其实我们很少用到那么多功能,再者我对那些部分也不是很熟,所以我们先说一下我们最常用最简单的部分,以后如果用到其他的模式我们再来看,我们的内存是有限的,所以将这些最常用的知识常驻内存吧。好了,那我们下边来看USART:使USART正常使用,我们总结下步骤吧1.要使用一个模块第一我们就要先时能相应的时钟,相应的,如果某个模块不再使用了要关闭相应的始终,这样的点点滴滴我们就能降低我们系统的功耗。2.配置
2010-10-22 22:37:00 2271
原创 STM32之EXTI
STM32因为具有NVIC使其中断体系大大提升,NVIC使用来管理异常与中断的,并且NVIC模块中还包含SysTick。这次我们来讲一下EXTI外部中断。1.在用到时我们必须要设置中断向量表,我们要将中断向量表存储在一个固定的位置,究竟是RAM还是FLASH就得看你的需求了。2.STM32中中断优先级分组总共有四种分组方式,我们只能用其中的一组。所以在设置完毕中断向量表的存储位置后我们就得选择合适我们的中断优先级分组。(这一部分可以我的STM32之NVIC一文)3.然后你要使用哪个外部中断就对此中断设置抢占
2010-10-22 22:02:00 13070 9
原创 STM32之用SysTick做准确定时
SysTick,ST的数据手册上稍微提了一下但是没有详细介绍,这里我们仔细研究下。如有错误之处敬请更正。SysTick位于NVIC中,它主要应用在操作系统中,所以平常我们用的很少,但是我们可以用它来做简单的延时,还是比较准确的。那我们先看一下跟他相关的寄存器吧:主要有四个寄存器:CTRL,RELOAD,VAL,CALIBCALIB我们一般不用,所以就不做介绍了。对CTRL的操作实际就是设置SysTick的时钟,以及使能等。对LOAD的操作就是填充新的计数值对VAL的操作时设置计数满后的操作学习最快最感性的莫
2010-10-20 15:23:00 10299
原创 STM32之SysTick
以用Cortex-M3中关于SysTick的描述: SysTick定时器被捆绑在NVIC中,用于产生SysTick异常(异常号:15)。在以前,操作系统还有所有使用了时基的系统,都必须一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。滴答中断对操作系统尤其重要。例如,操作系统可以为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且
2010-06-16 15:04:00 10656 4
原创 STM32之NVIC
好了,我们再来看下NVIC,STM32 NVIC的使用可以说用很多好处,在以后的应用中可能就有所体会了我们先来看一下Reference Datasheet中是如何说的:SCB->AIRCR中目前只用到4位,也就是最高能有16级中断嵌套,如果全使用的话可以达到256级选用优先级分组(实际就是选几位用于主优先级几位用于辅优先级)注意,我们在一个工程中只能用一种分组方式The table below gives the allowed values of the pre-emption priority and
2010-06-16 14:06:00 11380
原创 STM32之GPIO
上一篇已经设置好时钟了,哈哈,时钟设置好不能让CPU闲着呢,让它点灯吧(编程中的hello world)好了,大家可能接触过51,但是再接触STM32后就感觉GPIO不像以前那样了,不要迷惑,为什么要一样呢,它又不是51。那GPIO得内部结构图我觉得就没有必要看了,咱就单从功能层面来了解吧(原因之一本人对电路不是很来电)GPIO集中模式如下:现在每种模式都说一下也记不住(其实我也不全知道),以后学习用到再补充吧常用的就是Input floating和Output push-pull现在看下关于GPIO的寄存
2010-06-16 13:16:00 3787
原创 STM32之RCC
RCC复位与时钟配置,我首先忽略掉复位,首先学习时钟配置,复位以后用到再学习STM32有多个时钟源,分别是HSI:上电默认启动,因精度不高所以先不采用,以后如果需要再使用HSE:外部高速时钟,系统时钟一般采用它,经过PLL倍频作为系统同时钟LSE:外部低速时钟,一般专门用于RTC,等到RTC模块时再使用LSI:内部低速时钟,精度不高,一般用于IWDGCLK时钟系统框图如下:STM32中各个模块都有自己的时钟,当使用相应的模块时首先记得把此模块时钟开启本次学习使用标准固件库3.3.0好了,看明白上图咱就开始吧
2010-06-16 12:50:00 16918
原创 今天正式开始学习STM32
从今天起正式开始学习STM32,先说一下需要的手册STM32F103xC_D_E.pdfRM0008_V11.pdfPM0056_Programming manual.pdfUM0427-firmware library_en.pdf好了,不多说开始吧
2010-06-16 12:22:00 2209 9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人