- 博客(30)
- 资源 (6)
- 收藏
- 关注
原创 uC/OS 的中断 —— uC/OS学习笔记(三)
1. 常见名词a) 中断服务子程序:应中断请求而运行的程序b) 中断向量:中断服务子程序的入口地址 2. uC/OS的中断过程系统接收到中断请求后,如果这时CPU处于中断允许状态,系统就会立刻终止正在运行的任务,而按照中断向量的指向运行中断服务子程序。对于可剥夺型内核uC/OS而言,中断服务子程序运行结束之后,系统将会根据情况
2013-12-01 11:17:31 1149
原创 嵌入式汇编学习笔记(二)----寄存器
1.一个典型CPU的构造 一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线相连。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。 简单来说,在CPU中,运算器进行信息的处理;寄存器进行信息的存储;控制器控制各种器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。2.寄存器的作用 对于汇编程序员来
2013-11-24 09:58:51 2278
原创 图书馆防盗系统原理
有时候去学校的图书馆借书,借阅系统明明显示还有这本书,但是却找不到,一般情况就是书被盗了。这种问题有时让我也好抓狂,所以就研究了一下一般图书馆防盗系统的原理。 大家回忆一下大家的借书和还书的过程: 1.我们在借书后,图书馆管理员都会为每本书都在桌面上刷几下。 2.还书后,图书馆管理员也会在每本书上刷几下。 3.图书馆的门口都会和超市一样装上几片防盗警报器
2013-11-23 16:49:21 11626
原创 嵌入式汇编学习笔记(一)----学习规划和准备
1.为什么现在要学汇编呢?主要是为了学习的uC/OS系统的移植,因为uC/OS的移植涉及到几个关键的汇编函数。还有一个原因就是为了能在以后的嵌入式编程中,能够根据需要适当采用C和汇编的混合编程2.如何学汇编 我根据网上一些大神和一些书籍的总结,把学习汇编归纳为一下几个重点 a)学习CPU的不同寄存器的名称和它们各自的功能特性。比如说:数据寄存器,指针寄存器,变址寄存器,
2013-11-23 10:13:33 840
原创 敏捷开发学习笔记(三)——如何进行团队项目会议
1.先看一些失败的团队会议: 有些关于方案讨论的会议,到最后可能会失控变成了情绪化的指责,变成做决定是基于谁提出了这个观点,而不是权衡观点本身的利弊。参加这种会议,到最后会闹得大家都很不愉快。但是,这也很正常!2.如何讨论 一个好的设计作品,都需要大量的创造力和洞察力,分享并融入各种不同的想法和观点,远胜于单个想法为项目带来的价值。 但是负面的评论和态
2013-11-01 18:46:35 817
原创 敏捷开发学习笔记(二)——如何在团队中为人处世
以下这部分知识属于敏捷开发中的项目管理的知识1.当项目出现问题怎么办? 当项目出现问题,第一步不应该是寻早罪魁祸首,最高优先级的应该是解决问题。 如果你说的话只是让事态变得更复杂,或者只是一味抱怨,或者伤害了他人的感情,那么你无意中在给问题火上浇油。相反,你应该独辟蹊径,问问“为了解决这个问题,我能够做些什么?” 敏捷的团队中,大家的重点是做事。你应该把重点放在解决问题
2013-11-01 15:58:55 794
原创 uC/OS 的消息队列——uC/OS学习笔记(七)
1.消息队列的介绍 使用消息队列可在任务之间传递多条消息。消息队列相当于消息邮箱集合,一个邮箱只能在任务间传递一条消息,而消息队列则可以传递多条消息。消息队列由三部分组成:事件控制块、消息队列和消息。2.消息队列的操作 a)创建消息队列:QSQCreate(void **start,INT16U size)。start是指针数组的地址,size是数组的长度
2013-11-01 10:09:36 1156
原创 敏捷开发学习笔记(一)——敏捷开发的理念
敏捷开发的简单歌诀,这也概括了敏捷开发的全部内容迭代开发,价值优先分解任务,真实进度站立会议,交通畅通用户参与,调整方向结对编程,代码质量测试驱动,安全可靠持续集成,尽早反馈自动部署,一键安装定期回顾,持续改进不断学习,提高能力以上这个歌诀,1,2段表明敏捷开发的开发总模式;3,4段表明敏捷开发的项目管理;5,6段表明敏捷
2013-11-01 09:36:49 2993
原创 敏捷开发学习笔记(零)——敏捷开发的学习资料
从接触敏捷开发的时候,就被敏捷开发的理念吸引了。下面是我学习敏捷开发的一些书籍《敏捷软件开发》《高效程序员的45个习惯——敏捷开发修炼之道》
2013-11-01 08:49:47 1336
原创 一个简单搭建安卓环境的方法
刚入门安卓,看关于安卓环境搭建的老罗视频和看网上一些帖子。搭建安卓环境都要下载JDK,android SDK,eclipse和ADT,而且还有设置环境变量,弄起来挺麻烦。其实现在来说,安卓的环境搭建已经不用那么麻烦了,JDK还是要安装。但是android SDK,eclipse和ADT这三个东西安卓已经将它们整合在一起了。直接去安卓官网:http://developer.android.c
2013-10-26 10:06:31 893
转载 长时间停留在calculating requirements and dependencies 的解决方案
http://blog.csdn.net/lujianfeiccie2009/article/details/6957321如果Eclipse花费了很长的时间calculating requirements and dependencies(计算需求和依赖性 )这个问题通常就是在点击安装之后显示“Calculating requirements and depe
2013-10-25 13:16:04 631
原创 uC/OS 的操作错误总结——uC/OS学习笔记(零)
问题一:在win7 64位系统中,使用keil 3 来编译ucos系统,可能会产生错误:“错误: 无法执行'D:\program_anz\ruanjian_study\keil\C51\BIN\A51.EXE' 目标文件未产生“解决方法:这是因为A51.EXE这个文件在win7不兼容导致,所以应该改用keil4来就行问题二:在使用消息邮箱时,编译出错,提示为"error C267:
2013-10-24 23:04:35 1171
原创 uC/OS 系统的裁剪——uC/OS学习笔记(六)
在实际使用uC/OS系统中,有些51单片机的内核为了减少程序空间的大小,会对内核进行裁剪。假如系统中某个函数已被裁剪,再去调用该函数,编译时候会提示错误:“error C267: requires ANSI-style prototype”。这是由于使用该函数之前没有声明而导致的错误。裁剪主要通过配置os_cfg.h来实现。根据该文件的注释,把需要用到的函数在宏
2013-10-24 22:59:35 1439
原创 uC/OS 的消息邮箱——uC/OS学习笔记(五)
1.简介 在多任务操作系统中,常常需要在任务与任务之间通过传递一个数据(也叫做“消息”)的方式进行通信。为了实现这个目的,可以在内存中创建一个存储空间作为该数据的缓冲区。 如果把这个缓冲区叫做消息缓冲区,那么在任务间传递数据的一个简单方法就是传递消息缓冲区的指针。因此,用来传递消息缓冲区指针的数据结构叫做消息邮箱。2.消息邮箱的操作 a)声明消息邮箱
2013-10-24 22:04:55 2128
转载 解决Eclipse无法打开“Failed to load the JNI shared library”
http://aquilo.diandian.com/post/2012-05-27/21832516这是因为JDK配置错误所导致的现象。一般说来,新购笔记本会预装64位的windows系统,而在网上下载软件时,32位会优先出现在页面中(现在来说是这个情况,但我认为未来64位会越来越普及)。如果你是64位的系统,却安装了32位的JDK,就会导致上面的
2013-10-24 21:24:08 730
原创 安卓编程常见错误记录
错误1:Eclipse无法打开“Failed to load the JNI shared library”解决方法:以前是装JDK1.7的,改为重新安装旧点版本的 JDK1.6 参考资料:http://aquilo.diandian.com/post/2012-05-27/21832516 http://zhidao.baidu.com/link
2013-10-24 21:16:20 887
原创 uC/OS 的任务——uC/OS学习笔记(二)
1.uC/OS的任务操作函数 a) 任务创建:OSTaskCreate()或者OSTaskCreateExt(); 如:OSTaskCreate(MyTask,data,ptos,prio); MyTask:指向任务的指针 Data:传递给任务的参数 ptos:指向任
2013-10-24 16:36:37 853
原创 作为一个电子类的大三学生的嵌入式职业规划
本人是学嵌入式linux,包括Qt和驱动都有学过,水平一般而已。大三开学已经有两个月了,最近看到不少大四的师兄在各处奔波找工作,自己也尝试参加一些宣讲会和笔试。 总结如下: 1)嵌入式驱动的岗位一般要求研究生,水平不是很顶尖的本科生挺难找到 2)本科生对软件测试,技术支持的职位相对容易找 此外,问了几位出来工作的好心人
2013-10-23 22:57:42 1079
转载 printf函数实现的深入剖析
http://blog.tianya.cn/blogger/post_show.asp?BlogID=462085&PostID=8363874 研究printf的实现,首先来看看printf函数的函数体 int printf(const char *fmt, ...) { int i; char buf[256]; va_list arg
2013-10-23 21:02:33 628
原创 uC/OS 的时钟和时间——uC/OS学习笔记(四)
1. 时钟信号源(重要)a) 任何操作系统都要提供一个周期性的信号源,以供系统处理诸如延时、超时等与时间有关的事件,这个周期性的信号源叫做时钟。b) 这个信号源由芯片的硬件定时器来产生,一般是毫秒级别的。所以移植的时候需要选定一个定时器来产生时钟信号.2. 时钟节拍时钟节拍是两次时钟信号源中断之间相间隔的时间,是最小的时钟单位。3. 时钟信号源中断处理函数(重要
2013-10-19 21:11:42 1747
原创 实时系统的概念——uC/OS学习笔记(一)
1. 实时系统实时系统的特点是:如果逻辑和时序出现偏差,将会引起严重后果。有2种类型的实时系统:软实时系统和硬实时系统。在软实时系统中,系统的宗旨是是各个任务尽快地运行,而不要求限定某一任务在多长时间内完成;在硬实时系统中,个任务不仅须执行无误,而且要做到准时。大多数实时系统是二者的结合。实时系统的应用涵盖广泛的领域,而多数实时系统又是嵌入式的。这意味着计算机建在系统内部,用
2013-10-19 20:22:32 1417
原创 uC/OS 的中断——uC/OS学习笔记(三)
1. 常见名词a) 中断服务子程序:应中断请求而运行的程序b) 中断向量:中断服务子程序的入口地址 2. uC/OS的中断过程系统接收到中断请求后,如果这时CPU处于中断允许状态,系统就会立刻终止正在运行的任务,而按照中断向量的指向运行中断服务子程序。对于可剥夺型内核uC/OS而言,中断服务子程序运行结束之后,系统将会根据情况
2013-10-19 20:15:06 1821
原创 C语言编程实现grep
欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8642790联系邮箱:yinfork@foxmail.com简介1. 字符串比较strncmp函数与strcmp函数不同的地方是参数里面是否有n。n代表比较的字符的个数。但是strncmp的功能只能从开头比较,没有g
2013-03-06 16:03:23 5702
原创 格式转化函数----sscanf, sprintf
欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8631355联系邮箱:yinfork@foxmail.com头文件 stdio.h 简介1. 对于字符串与数值的相互转换,使用sscanf和sprintf相当方便。我曾经由于忘记sscanf这个函数,自己用递
2013-03-03 18:31:37 472
原创 fgetc,getc,getchar,fputc,putc和putchar函数的介绍及易犯的错误
欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8631350联系邮箱:yinfork@foxmail.com 函数原型: #include Intfgetc(FILE *stream); Intgetc(FILE *stream);
2013-03-03 18:29:33 1586
原创 程序退出函数---exit,_exit,_Exit,abrot
欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8631342联系邮箱:yinfork@foxmail.com不考虑线程,让程序退出的函数有以下几个(exit,return,_exit,_Exit,abort ,assert和信号)正常退出:1. exit和return:在m
2013-03-03 18:27:46 2736
原创 程序退出处理函数----atexit()
欢迎转载,请注明出处,本文地址: http://blog.csdn.net/jk050802/article/details/8631333联系邮箱:yinfork@foxmail.com函数原型:*#include *intatexit(void (*func) (void)); 作用:用来登记程序退出时,需要调用的函数。在程序退出时,以最后登记的函
2013-03-03 18:24:13 1343
原创 函数内部跳转---setjmp和longjmp
欢迎转载,请注明出处,本文地址:http://blog.csdn.net/jk050802/article/details/8631329联系邮箱:yinfork@foxmail.com函数原型: #include Intsetjmp(jmp_buf env);返回值:若成功调用,则返回0,若从longjmp中调用返回,则返回更加lo
2013-03-03 18:22:10 527
原创 C语言编程实现,浮点型与字符数组相互转化
欢迎转载,请注明出处,本文地址:http://blog.csdn.net/jk050802/article/details/8628764联系邮箱:yinfork@foxmail.com简介 从浮点型转换为字符型:这里比较简单,只需要用到sprintf即可。sprintf(str,"%f",dou_num); 从字符型转换为浮点型:这
2013-03-02 13:44:40 11358
原创 对比STM32,ARM9研究方向的猜想
欢迎转载,请注明出处,本文地址:http://blog.csdn.net/jk050802/article/details/8583733。联系邮箱:yinfork@foxmail.com2013年的寒假,受老师的邀请,去到东莞实习了10天。虽然不是第一次去,但是这次的体会和上次有了很大的不同。这篇文章本来想从东莞回来就写了,但是一直拖到现在才写。在东莞,我工作位置的旁边是一个
2013-02-16 22:35:57 2245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人