- 博客(90)
- 资源 (2)
- 收藏
- 关注
转载 这个稍微有点档次了:解析 STM32 的启动过程
文章转至 http://bbs.eeworld.com.cn/thread-293020-1-4.html当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数
2012-04-19 14:20:05
5265
原创 ucos-II之任务优先级
很多关于UCOS的内核源码的文章已经很多也都和很好,但是我还是自己写下自己关于任务优先级确定的自己的一些看法。毕竟只有自己理解了才是自己的,才可以完全理解。关于ucos任务优先级首先要确定一个变量任务优先级变量1 priority ,这个变量在嵌入式实时操作系统邵贝贝译的书中76页,很清楚的可以看明白,priority 是个六位的变量,低三位组内偏移,高三位是组号 问题:这个组是什么?
2012-02-14 18:48:32
11547
2
转载 uC/OS-II源码分析(总体思路 二)
文章转载地址:http://hi.baidu.com/zzz1367/blog/item/ae03dcd1b37a41d9562c84c3.htmlOSTaskCreate负责创建Task所需的数据结构,该函数原形如下所示:INT8U OSTaskCreate (void (*task)(void *pd), void *p_arg, OS_STK *ptos, I
2012-02-13 18:27:51
1917
转载 uC/OS-II源码分析(总体思路一)
文章转载地址:http://hi.baidu.com/zzz1367/blog/item/ae03dcd1b37a41d9562c84c3.html首先从main函数开始,下面是uC/OS-II main函数的大致流程:main(){OSInit();TaskCreate(...);OSStart();}首先是调用OSInit进行初始化,然后
2012-02-13 18:25:50
1024
转载 Linux内核中ioremap映射的透彻理解
几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种: (1)I/O映射方式(I/O-mapped) 典型地,如X86处理器为外设专
2011-10-08 18:54:48
880
原创 linux设备驱动之——dm9000移植
linux平台 defora9.0硬件平台 mini2440参考文档:1、dm9000时序硬件http://blog.chinaunix.net/space.php?uid=13321460&do=blog&cuid=20238522
2011-10-08 17:45:37
744
原创 克隆虚拟机系统到其他电脑的问题
因为要换一个学习环境,所以拷贝资料什么的是比较麻烦的,因为linux开发还要拷贝虚拟机的linux系统,选择克隆linux系统,选择vm菜单下的克隆选项,然后按照提示一步一步 的就可以克隆出虚拟机系统了。然后我在其他电脑上安装VMware后选择打开已存在的虚拟系统就可以用了,不过
2011-10-01 16:15:00
4198
原创 fedora9.0 samba服务安装步骤
平台 fedora 9.0 mini2440我是从fedora安装包中安装samba服务,至于其他的直接用yum来安装的,我现在系统不能上网,这个问题比较头疼,下次弄好了再来补上。samba服务用来实现linux和windows目录共享,其实如果我们只是用于我们的虚拟
2011-09-27 21:43:04
2740
原创 nfs启动——究竟启动了什么?
和许多人一样我也知道一点nfs,知道用nfs开发嵌入式很方便,我也用nfs来共享文件、目录等等,前面我也弄过nfs启动,那一段时间弄了好久,后面还写了一篇比较详细的文章。但是我一直不是很明白究竟nfs启动时启动的什么?我只知道用nfs启动可以扩大空间,因为我们利用了pc机的硬盘。
2011-09-26 20:42:44
1255
原创 linux中断流程详解
异常体系比较复杂,但是linux已经准备了很多的函数和框架,但是因为中断是和具体的开发板相关,所以中断需要我们自己来处理一些方面,但是这也是很少的一部分,很多公用的处理函数内核已经实现,linux内核搭建了一个非常容易扩充的中断处理体系。中断系统结构涉及的方面很多,而且分布在
2011-09-23 16:13:39
13301
2
转载 很好的linux下GPIO驱动详解文章
原文地址 http://blog.youkuaiyun.com/llxmedici/article/details/6282372打算跟着友善之臂的《mini2440 linux移植开发指南》来做个LED驱动,虽然LED的原理简单得不能再简单了,但是要把kernel中针对于s3
2011-09-16 21:42:55
20658
转载 内核初始化优化宏
原文地址 http://zonghe.17xie.com/book/10128307/54054.html内核使用了大量不同的宏来标记具有不同作用的函数和数据结构。如宏__init、__devinit等。这些宏在include/linux/init.h头文件中定义。编
2011-09-14 20:15:11
835
转载 linux设备驱动之led子系统<二>
原文地址 http://blog.youkuaiyun.com/yuanlulu/article/details/6438847gpio-led框架/driver/leds/leds-gpio.c下实现了gpio-led框架。这个gpio-led框架的作用是把传入的gp
2011-09-14 17:36:06
2462
转载 linux设备驱动之led子系统<一>
简单的led驱动可以用字符或者混杂设备驱动平台,但是linux系统中用的是平台设备驱动,使led驱动成为一个子系统。原文地址 http://blog.youkuaiyun.com/yuanlulu/article/details/6438841数据结构/include/
2011-09-14 17:32:04
3149
转载 container_of()宏的简要解析
container_of()宏的简要解析原文地址 http://www.cublog.cn/u2/79807/showart_1330336.html在学习Linux驱动的过程中,遇到一个宏叫做container
2011-09-13 19:59:56
791
转载 2.6.32关于bus_id的问题
这个问题困扰了我好久,对于内核的不熟悉,一开始是出现了使用空指针的问题,部分错误提示如下Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c3ab40
2011-09-12 17:53:15
2065
转载 linux设备驱动之串口移植
对于串口驱动的移植准备自己分析一下源代码的,但是发现自己好多地方都只知道一些皮毛,不明白其中的道理,所以我上网搜的时候发现有好多人写了很多很好的文章了,下面我转载的这篇就非常不错,一个困恼我好久的问题是驱动代码中只是注册了platform驱动,而platform设备注册在哪里?这
2011-09-10 16:14:13
12146
原创 linux设备驱动之UART驱动结构
一、对于串口驱动linux系统中UART驱动属于终端设备驱动,应该说是实现串口驱动和终端驱动来实现串口终端设备的驱动。要了解串口终端的驱动在linux系统的结构就先要了解终端设备驱动在linux系统中的结构体系,一方面自己了解的不够,另一发面关于终端设备的体系结构网上有很多很好很
2011-09-09 21:51:02
2368
原创 生活与朋友
今天接到一个电话,是我一个高中同学,本来是个很好的事情,有同学打电话给我,但是她说那个我怎么不和其他人联系,还有都没有给他们打过电话,无言以对,居然脱口而出最近忙。这个事实是比较忙,还有一个是我平时比较少和别人联系,但是和自己身边的这一群人还是混的比较熟,大家有什么事情义不容
2011-09-09 15:14:19
1182
转载 linux设备驱动之总线、设备、驱动
文章转载至多个地方,网上拼凑的一篇文章,说的好听一些的话那就叫自己总结的文章,只是多次引用啊,哈哈,哎,不管了,反正这个有利用学习进步就好,这是重要的,文章转载过来要经过一篇大脑才能成为自己的,以后千万要注意这点,不要把大好的文章转载放在博客里面不管了,等到那一天遇到同样的问题了
2011-09-09 11:00:45
5780
2
转载 2440驱动分析——LED驱动
micro2440采用S3C2440处理器(和S3C2410区别不大),在其Linux源码中,和这个平台相关的代码主要在arch/arm/mach-s3c2410和include/asm-arm/arch-s3c2410中,相关驱动在drivers目录中1.S3C2410_G
2011-09-05 21:09:39
1166
转载 ARM--GPIO端口
s3c2440共有130个GPIO端口,分为9组,GPA ~ GPJ,通过寄存器控制。控制s3c2440的GPIO端口的寄存器有3类,分别是GPxCON、GPxDAT、GPxUP (x=A ~ J):GPxCON:GPIO控制寄存器,可以设置选定GPIO口的输入输出方式和
2011-09-05 20:55:09
4730
1
原创 裸机系列——s3c2440之触摸屏
平台 mini2440触摸屏 索尼x-35 3.5寸触摸屏1.0、触摸屏与lcd触摸屏与lcd是俩个独立的屏在lcd中已经讲过了,但是这里在提一下,主要是涉及到一个触摸屏校正的问题,我以前一直很是不解我手指点的什么东西电脑是怎么知道的,直到我弄
2011-09-04 11:42:59
2195
转载 汉字编码问题
汉字编码问题(转) 摘自http://www.cnblogs.com/gaowg/articles/1101542.html由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉
2011-09-04 10:33:48
12278
原创 裸机系列——s3c2440lcd汉字显示
1、lcd裸机写好后在来弄lcd的字符显示就容易多了,理解字符其实就是一副图,比如16*16的汉子显示就是长宽16的一个正方形中用点来显示一个汉字,这样就只有弄清楚哪些点是要显示的就行了,比如第一行要显示一个点我们就可以 xxxxxxxoxxxxxxxx 现在只有把中间的圈显示其
2011-09-04 10:22:11
3507
原创 裸机系列--s3c2400之LCD
平台 mini2440编译工具 ads1.2lcd型号 索尼3.5寸TFT液晶屏 开始lcd的驱动是在上个学期末,那时候快要期末了,要准备考试什么的,大概看了一下没看一下的,感觉学习效率
2011-09-04 08:21:22
2350
原创 arm+linux完整Led驱动
驱动入门快一个月了,今天来总结一下一个入门的驱动 --led驱动,进度是很慢啊,都快一个月了才来一个led的驱动,天资愚笨,那就只有加倍努力啊!前面已经有一篇文章比较详细的说明了怎么样从windows转到一无所知的linux,该怎么样一步一步的了解一些工具然后搭建整个linux+
2011-09-03 17:01:02
3244
原创 linux+arm驱动入手问题解答
昨天写了一篇驱动入手遇到的问题的文章来给自己鼓气,今天终于是把第一个驱动模块给加载进去并且能够运行了。对于昨天的问题还有俩个问题没有答案,不过那俩个问题就先放着。首先大概说一下交叉编译来开发,以前对于交叉编译开发我的理解就是要安装一个交叉编译工具arm-linux-gcc然后
2011-08-29 16:51:27
1599
原创 linux+arm驱动入手问题
开发板mini2440虚拟机系统 fedora交叉编译链 友善之臂arm-linux-gcc-4.4.3linux内核 2.6.32.2 从安装开发环境到开始第一个驱动,而且还是完全照着手册来的,而且没有自己写,完全只是熟悉流程,没想到这个过程也是这么的不容易,今
2011-08-28 21:21:28
2188
原创 2440的flash、linux、bootloader
开始拿到2440板的时候不知道norflash ,nandflash等等干什么的,还有SDRAM有是什么,还有linux系统装在哪里,怎么装,supervivi有是什么等等很多的问题,今天大概简单的理清楚这里关系。首先分开flash与SDRAM,这俩个其实我们都使用过,fla
2011-08-26 11:46:25
1517
原创 source insight 窗口嵌入
昨天用了一下source insight ,都说很强大,也有感觉,但是这个强大的东西往往不是那么容易弄清楚的,或者一下子就好上手的,工具强大,功能复杂多样,一开始不知道怎么入手,以后慢慢来吧,学习是要与时俱进的。昨天自己乱弄不小心把嵌入的窗口独立出来了,这下就麻烦了,其实以前
2011-08-26 11:12:16
18008
13
原创 linux+arm环境配置——minicom使用
pc机 windows虚拟机fedora9.0开发板 mini2440首先网上有很多关于minicom的设置了,而且对于使用minicom的设置应该也是比较基本的,因为以后很多的时候都需要用到。minicom相当于windows中的超级终端一样,当做linux下的
2011-08-25 17:22:03
1999
原创 linux+arm环境配置——VMware与windows联网通信
pc操作系统 windows虚拟机系统 fedora9.0 一、bridged ——网络桥接使用bridged,即网络桥接,注意用这种方式联网需要主机windows能够上网才可以,相当于2台处在同一网段的计算机,今天实验室的服务器有问题不能上网但是我用bri
2011-08-22 21:51:09
1387
原创 linux+arm学习开篇
进行了几个月的裸机编程后终于进入了linux系统学习了,打算开始驱动的学习,学习路线计划是先裸机编程然后进入系统学习,最后进行linux+arm驱动开发。当然这其中还有很多要学习。但是无论如何进入系统学习也是一个小小的标志吧,但是开始这个学习已经有一段时间了,今天才来做个序,有点
2011-08-22 17:33:29
916
原创 linux+arm环境配置——NFS
今天主要总结一下ARM+linux开发环境配置的nfs服务。开发板 mini2440 PC系统 windows虚拟机系统 fedora9.0配置nfs服务好几天,今天终于配好了,但是发现我接下来不知道要干什么了,nfs干嘛的,有什么用,我也不知道,我只知道书上还有
2011-08-22 16:39:02
1462
原创 激情与大学
昨天偶然和我一同学聊天,他参加了几年的兵役,聊着聊着不知觉的说到了 激情这个词,他说在部队里面这几年最大的改变的就是他现在整个人都充满激情,尤其是去体能锻炼啊,还有其他的训练的时候,哎,想想,大学这美好的时光总是感觉缺少一些什么,那就是他所说的激情吧。大学中懒散的作风,弄虚作假的
2011-08-18 09:41:12
1447
转载 sizeof()用法汇总
原文地址 http://blog.pfan.cn/wenzhuo316/19802.htmlsizeof()功能:计算数据空间的字节数1.与strlen()比较 strlen()计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数
2011-08-13 13:40:22
531
转载 库函数和系统调用
库函数是语言本身的一部分,而系统函数是内核提供给应用程序的接口,属于系统的一部分。 函数库调用是语言或应用程序的一部分,而系统调用是操作系统的一部分。你要确保弄懂“trap(自陷)”这个关键字的含义。系统调用是在操作系统内核发现一个“trap”或中断后进行的(其中系统调用是
2011-07-29 16:59:49
788
原创 毕业前的暑假回来
暑假家里面比较忙,回家干了几天的活,然后再家里面休息的几天,昨天到学校,今天开始学习,继续我的裸机编程,嵌入式编程。回家一趟感触颇多,一来现在社会突然一下感觉大家的距离一下子都拉大了好多,可能这个是经济发展到现在农村的这一代人的思想开始慢慢的开放,就必然涌现出一大批人上人来吧,很
2011-07-29 11:30:27
639
原创 虚拟存储器解惑<一>
最近看了几天的虚拟存储器,发现虚拟存储器内存非常广泛而且比较难懂,故我建了一个虚拟存储器的类别留着日后不断的扩展虚拟存储器的内容。首先我自己总结了一句话,虚拟存储技术(不称呼为虚拟内存避免概念混淆不清)是一种机制,把寻址的空间和存储空间分离,然后通过硬件、内核、操作系统、软件来控制寻址空间和存储空间的映射来达到高效利用内存,扩大内存,保护内存,共享内存以及实现其他一些机制。这句话是重要的,也许对我
2011-07-02 11:00:30
1151
裸机2440串口DMA通信
2011-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人