- 博客(93)
- 资源 (7)
- 收藏
- 关注
原创 如何特意制造栈缓冲区溢出?(x86 & ARM)
在x86(visual studio 2008)和ARM(MDK4.70)下有意的构造使栈缓冲区溢出的代码,看看他是如何溢出的,以及发生什么现象。这样碰到类似的事就可以有经验了。晓得咋个回事了。
2013-09-07 09:16:00 3586 1
原创 core_cm3文件函数一览
core_cm3是ARM公司推出来的统一规定,这是对下游芯片厂商的统一规定,因此可以再Cortex-M3(CM3)之间进行移植。此文件中定义了一些对特殊功能寄存器的C语言形式的操作,本质上是内敛汇编和嵌入式汇编。本文均已μC/OS-II移植为例进行举例。
2013-09-03 22:21:26 8932
转载 实时操作系统概述(推荐)
一 实时操作系统概述1 操作系统概述在计算机技术发展的初期阶段,计算机系统中没有操作系统(Operating System)这个概念。应用程序开发人员都要对处理器和硬件进行彻头彻尾的控制。实际上,第一个操作系统的诞生,就是为了提供一个虚拟的硬件平台,以方便程序员开发,同时提高计算机的资源利用率。为实现这个目标,操作系统只需提供一些较为松散的函数、例程――就好象现在的软件库一样――
2013-09-03 22:13:24 21894 3
转载 从μC/OS-II到μC/OS-III的各种改进
宫辉,龚光华,黄土琛1. 清华大学工程物理系,北京 100084;2. 清华大学粒子技术与辐射成像教育部重点实验室编者按: μC/OSII对我国嵌入式实时操作系统的普及与推广起到了十分积极的作用,在嵌入式系统教学、研究以及开发应用等方面颇有影响。2011年8月,μC/OSIII的源码在Micrium网站上公开,《μC/OSIII The Real Time Kernel
2013-09-03 22:02:15 6598
原创 μC/OS-II实验:实验五 内存管理
实验描述:涉及的μC/OS-II系统函数:实验代码: app.c1234567891011121314151617181920212223242526272829303132333435
2013-08-18 20:48:30 3581
原创 μC/OS-II实验:实验四 消息队列
实验描述:在本实验中,设计了 6 个普通应用任务:TA0(优先级为 20)、TA1(优先级为 21)、TA2(优先级为 22)、TA3(优先级为 23)、TA4(优先级为 25)、TA5(优先级为 26),以及一个控制任务 TaskCon(优先级为 19)。uC/OS-II 中,等待消息的任务总是按照优先级的高低来决定获得消息的顺序的 等待消息的任务总是按照优先级的高低来决定获得消息的
2013-08-18 20:48:27 4422
原创 μC/OS-II实验:实验三 信号量: 哲学家就餐问题
实验描述:五个哲学家任务(ph1、ph2、ph3、ph4、ph5)主要有两种过程:思考(即睡眠一段时间)和就餐。每个哲学家任务在就餐前必须申请并获得一左一右两支筷子,就餐完毕后释放这两支筷子。五个哲学家围成一圈,每两人之间有一支筷子。一共有五支筷子,在该实验中用了五个互斥信号量来代表。如下图所示:涉及的μC/OS-II系统函数:实验代码: app
2013-08-18 20:48:24 6249
原创 μC/OS-II实验:实验二 优先级反转及解决方法
实验描述:占有资源的低优先级不能主动放弃CPU,不然优先级肯定反转。涉及的μC/OS-II系统函数:实验代码: app.c1234567891011121314151617181920212223242526272829
2013-08-18 20:48:20 5645 1
原创 μC/OS-II实验:实验一 任务的基本管理
实验描述:涉及的μC/OS-II系统函数:实验代码: app.c123456789101112131415161718192021222324252627void Task0(void* pdat
2013-08-18 20:48:17 3945 1
原创 μC/OS学习资料(附Ebook)
μC/OS-各版本源码《嵌入式实时操作系统μC/OS-II》《嵌入式实时操作系统μC/OS-III》《μC/OSII2.52源码中文译注-钟常慰 》μC/OSII教程:东软UCOS-II教程第五讲实时操作系统mC/OS-Ⅱ分析-北航uCOS-II源码分析顺序μC/OS移植:
2013-08-18 20:48:12 3460 5
转载 C puzzles
Dear visitor,Thanks for your interest in C programming. In this page, you will find a list of interesting C programming questions/puzzles, These programs listed are the ones which I have received as
2013-08-18 19:37:37 2607
转载 C Programming Puzzlers
These questions originally appeared as an article on programmersheaven.com, written by Ashok K. Pathak, a researcher at Bharat Electronics Limited (CRL), Ghaziabad. They are reproduced here with mi
2013-08-18 19:37:34 1182
原创 《高质量程序设计指南:C++/C语言》面试题整理
本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。笔试时间90分钟。请考生认真答题,切勿轻视。从《高质量程序设计指南:C++/C语言》摘录,若想晓得答案,自己运行一遍即可。欢迎交流。PS:如果想看数据结构和常用算法,可以参考我的Google Code项目ADT-in-C项目。一、以下为Windows
2013-08-18 19:37:31 4035 30
原创 《C语言深度解剖》面试题整理
请在40分钟内完成以下20道C语言基础题。在没有任何提示的情况下,如果能得满分,那么你可以扔掉本书了,你的水平已经大大超过了作者;如果能的80分以上,说明你的C语言基础还不错,学习本书可能会比较轻松;如果得分在50分以下,也不要气馁,努力学习就行了;如果不小心得了10分以下,你就得给自己悄悄警钟了;如果不幸得了0分,那实在是不应该,因为毕竟很多题是很简单的。从《C语言深度解剖》摘录,若想晓得答案,自己运行一遍即可,欢迎交流。
2013-08-18 19:37:29 3510 80
原创 树莓派肿么玩儿?
1. 极客以折腾不息的树莓派玩法2. WaterColorBot:小姑娘设计的水彩画机器人3. 教你用树莓派打造一个家庭影院4. Chromecast自己做!用树莓打造的开源解决方案5. 用树莓派打造的便携式“超级任天堂”6. Raspberry Pi + 乐高 = 超级计算机7. 用树莓派打造一个NAS8. 通过短信在树莓派上运行终端命令9. 把树莓派当做
2013-08-17 22:19:45 2058 1
原创 μC/OS-II 的任务调度算法扩展之两种任务数扩充
对μC/OS-II 的任务调度算法进行改进,介绍两种对其最大任务支持数进行扩充的两种方法,在这里可以看到空间和时间的权衡,即鱼与熊掌不可兼得。
2013-08-06 20:10:23 2145
原创 μC/OS-II 的任务调度算法分析
任务调度是一个操作系统最核心的部分,μC/OS-II 通过三步走来完成这个过程。1) 从就绪表中获得就绪任务的最高优先级:OSRdyTbl[],OSRdyGrp,OSMapTbl[],OSUnMapTbl[]2) 获取最高优先级就绪任务的任务控制块:OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy]3) 启动任务切换:OS_TASK_SW()
2013-08-06 20:10:18 5533
原创 分析TCP/IP协议栈代码之UDP(STM32平台)
ARP部分IP&ICMP部分UDP部分TCP部分1. UDP介绍 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。 UDP数据报封装成一份 IP数据报的格式
2013-08-06 19:21:09 10729 14
原创 关于一道IEEE754浮点数标准的百度面试题再论
一个非常简单的C语言例子,可以用来很好的学习IEEE754浮点数标准,但最后又引出一个问题~~~
2013-08-06 19:15:25 2857
原创 一句话谈粒子群优化算法
1. 先看看对PSO的语言描述一句话概括粒子群(Particle Swarm Optimization,PSO)的核心思想:要想变的更牛,你就得向牛人学习。粒子群可以说是最简单的启发式优化算法。对它的理解只需要简单的数学向量的加减数乘即可。它的核心就两公式:但是貌似参数还不少,α和β是常数;∈1和∈2是属于0到1之间的随机数向量;⊙为点乘,即两个向量的乘累加。g
2013-08-06 18:51:35 2381 2
原创 一句话谈模拟退火
1. 先看看对SA的语言描述一句话来概括模拟退火(Simulated Annealing,SA)的核心思想:适当的接受不好的解。为什么需要”适当的“接受坏的解?在迭代的过程中,每迭代一次,便会产生新的解,而新的解就可解的新的适应度值,若新的适应度值相比原适应度值小(以求最小值为例),则此时必定接受好的解。但是坏的解也是很多的,如果每次都完全接受坏的解,那么就是”完全随机“了,其收敛速度是及
2013-08-06 18:40:11 1144
原创 给千篇一律的注释加点料(ASCII ART)
一些有趣的ASCII注释图案,可以给代码来点料。有:公告栏小孩,钢琴,小蝙蝠,大蝙蝠,水族馆,骑士,当然还有我们的tux。O(∩_∩)O~
2013-07-13 16:44:19 1339
转载 全是老古董:俄罗斯程序员收藏的8080处理器
8080 是 Intel 于 1974 年 4 月发布的早期处理器,这款处理器仅有 6000 个晶体管,每秒运算 29 万次,拥有 16 位地址总线和八位数据总线,包含 7 个八位寄存器,支持 16 位内存,主频 2MHz,严格意义上讲,算是世界首款处理器了。可你想过现在还能完整的看到这些“老古董”吗?一位来自俄罗斯的程序员就做到了。
2013-07-08 22:03:16 1265
原创 C语言相关的经典书籍(附Ebook)
个人稍微分了一下类,有的看过,有的听人“传说过”,欢迎大家补充和共同学习。大致分为以下几类:真心经典|底层相关|指针相关|数据结构|补充进阶|标准参考|编程规范|国内不错
2013-07-03 22:10:59 14121 25
转载 一名大学毕业生的反思
编者按:中国从来不缺乏对教育倾注无限热情的人,大师、学者、作家,不一而足,而学生作为教育最直接的产品,却往往失去了话语权。近日,一篇万言长帖《一名大学毕业生的反思》备受中国人关注。一时间对于教育质量的讨论再次达到了一个高度。帖子如此之长恐怕会花费你的一些时间,但可以保证,真正将该帖完整读完,你一定会为作者所写的最真实,最露骨的大学所揪心不已。你也可以保存,或推荐给其他朋友。
2013-07-02 21:45:15 1914
原创 《Business Insider》评选了10本IT历史必读书(附Ebook)
“不吸取历史的教训,就会重蹈覆辙”这点在科技和商业领域尤为应验。《Business Insider》评选了10本IT历史必读书。1. 《Hackers》Steven Levy的这本书,讲述了20世纪50年代到80年代计算机革命中那些黑客的经历,它是黑客文化的圭臬。John Carmack曾说,年幼时读到这本书,让他发现自己并不孤单。2. 《Steve Jobs》
2013-06-30 13:04:08 1805 1
原创 部署Google Code的SVN代码托管环境——VS2008+CollabNet+TortoiseSVN
一直对开源世界好奇,遂尝试向此迈出一小步~~~go~~~因为人们将自己的开源代码交给代码托管的公司托管,然后大家都可以参与进来。代码托管目前大致晓得的有以下一些:Github Google Code Sourceforge Gitlab作为新手哪个最简单用哪个,以后有需要的时候再转吧,再说转的成本也不高,刚好有Google账号,就用GC了。Step 0.登陆Google账号,进入c
2013-06-28 23:05:12 1957
转载 Sublime Text 2 快捷键
文件 File新建文件Ctrl + N打开文件Ctrl + O打开最近关闭的文件Ctrl + Shift + T保存Ctrl + S另存为…Ctrl + Shift + S关闭文件Ctrl + W新建窗口Ctrl + Shift + N关闭窗口Ct
2013-06-15 19:10:25 38900 4
转载 C/C++编译器错误代码大全
编译器错误 C2001 错误消息 常数中有换行符 字符串常数不能继续到第二行,除非进行下列操作: •用反斜杠结束第一行。 •用一个双引号结束第一行上的字符串,并在下一行用另一个双引号
2013-06-13 20:35:35 2966
原创 “斐波那契查找”真的比“二分查找”快么?
Is Fibonacci Search really "faster" than Binary Search?申明:本文讨论的搜索对象为有序数组,不是数学上讨论的函数。1. 介绍对经过各种Sort算法排好序之后的有序数组进行检索的Search算法大致有以下三种:线性查找 O(n),二分查找 O(log(n)),斐波那契查找 O(log(n))。前两者用的比较多,
2013-06-11 22:20:17 8014 4
转载 开发人员眼中最好的代码编辑器
英文原文:Which is the Best Code Editor?,翻译:gbin1如果我们把不同的程序开发人员比作三国演义中的各路诸侯大将的话,那么代码编辑器绝对可以称之我们手中的神兵利器,不同类型的开发人员使用的”兵器“也大有不同。好比兵器来说,没有绝对强的,也没有绝对好的,每一中兵器都有不同的优点和缺点,虽说俗话说的好,一寸长,一寸强,不过如果你没事去那都提着“关老爷”的“青龙偃
2013-06-06 22:39:29 2256 2
原创 移植Matlab的底层模糊逻辑控制库(C语言)
Matlab拥有很多好用的Toolbox,如遗传算法,模糊逻辑控制(Fuzzy Logic Control,FLC),神经网络等等,一般都是大神写的,然后提交给Matlab公司,接着审核之后加入到新的版本中,大致的看了下Toolbox文件夹下面的各个库代码,大部分是用matlab语言写的,但是有些是采用C语言写的(貌似 Matlab程序本身就是采用C/C++写的,所以m语言和C语言之间可以很好的调
2013-06-06 22:28:29 10502 30
原创 函数指针数组
话说可以通过指针的形式操作数组,只是人们的思维比较喜欢数组形式,所以才诞生了[],也就是说数组其实是可以不需要的。比如下面这个代码: C++ Code 123456789101112131415161718#include "stdio.h"#includ
2013-06-06 20:32:12 983
转载 嵌入式系统求职回忆录
嵌入式系统求职回忆录欧浩源(ohy3686@qq.com) 20081029一、引言 一年前的这个时候,我开始了人生的真正求职历程。在这个过程中,有幸参加过广嵌、迈瑞、华为、智光、周立功、理邦等几个比较大笔试和面试。虽然大部分都失败了,但是我觉得正是这一次次的失败认我真正认识自己的不足,积累经验,成长进步,为最后的成功打下坚实的基础。求职是一个展现个人综合实力的过程,除了需要专
2013-06-04 21:32:13 1723
原创 Sublime Text 2 for C/C++ and Python in Windows
Step 1. 安装Python开发环境,DEV-CPP,Sublime Text 2Step 2. 修改环境变量中的Path增加类似如下路径:D:\Program Files\Python33\;D:\Dev-Cpp\bin Step3. 修改Sublime Text 2中的Tools->Build System->New Build System
2013-06-01 13:26:39 1830
原创 C语言中类型限定符(qualifier)之一const
C语言中连个类型限定符:const和volatile。用来对以下的类型说明符进行限定:void ,char ,short ,int ,long ,float ,double ,signed ,unsigned ,结构或联合,说明符,枚举说明符,类型定义名。“类型限定符可与任何类型说明符一起使用。可以对const 对象进行初始化,但在初始化以后不能进行赋值。”《C程序语言设计(第2版
2013-05-26 22:07:31 3618
JSP高级编程(希望版)
2009-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人