会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
lyyyuna的小花园
动静中之动
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2013年2月26日
linux下 rm 删除非空目录
摘要: rm命令 在linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用rm命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。 rm命令的一般形式为: rm [选...
阅读全文
posted @ 2013-02-26 13:23 lyyyuna
阅读(956)
评论(0)
推荐(0)
2013年2月25日
[RTT例程练习] 2.3 信号量-检测按键(同步) -(信号量互斥)
摘要: 这里,使用信号量来同步两个线程。简单来说,线程每隔一定的时间扫描按键。一旦其检测到有效的按键,便release 信号量,使得线程2 从挂起进入 运行态,向串口打印按键信息。这样,便实现了两个线程的同步。程序:#include #include "stm32f10x.h"#define KEY_POR...
阅读全文
posted @ 2013-02-25 21:31 lyyyuna
阅读(367)
评论(0)
推荐(0)
[RTT例程练习] 2.2 信号量之基本使用(动态/静态信号量)
摘要: 信号量的解释:来自百度百科:信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。RT-Thread 的信号量有静态和动态,这...
阅读全文
posted @ 2013-02-25 21:20 lyyyuna
阅读(282)
评论(0)
推荐(0)
[RTT例程练习] 2.1 问题引入 线程抢占导致的临界区问题
摘要: 这一小节是只是一个演示问题的实验。在编程中,时常会碰到全局变量,程序在不同的地方都可以对全局变量进行修改,引起很大的麻烦。在RTOS中,尤其如此。因为不同的线程都有可能修改一个全局变量,而修改的顺序确实由调度决定的,不能通过人力决定。当然,这个问题不是只限于全局变量。例如两个线程都可以通过串口向终端...
阅读全文
posted @ 2013-02-25 21:01 lyyyuna
阅读(219)
评论(0)
推荐(0)
2013年2月18日
[RTT例程练习] 1.7 优先级翻转之优先级继承
摘要: RTT 的mutex 实现了优先级继承算法,可用其来解决优先级反转的问题。还是来自官网:thread2和worker线程虽然优先级比thread1要高,但是这两个线程均在进程开始出就执行了延时函数,于是轮到 thread1 执行,然后 thread1获得互斥量,thread2延时结束后,虽然它的优先...
阅读全文
posted @ 2013-02-18 11:44 lyyyuna
阅读(476)
评论(0)
推荐(1)
[RTT例程练习] 1.6 线程优先级反转原理
摘要: 优先级反转是不希望出现的现象。简单来说,有三个线程A, B, C, 优先级A>B>C,A和C有共享资源S。A.B挂起,C运行且有S,A没有S所以一直挂起,B进入调度,调度完之后C再运行直到释放S之后,A才能运行。可以看出,A虽然优先级最高,但实际运行却是最后一个运行,其实际的优先级反转了。下面这段来...
阅读全文
posted @ 2013-02-18 11:37 lyyyuna
阅读(321)
评论(0)
推荐(0)
[RTT例程练习] 1.5 优先级相同线程轮转调度
摘要: 之前说过,相同优先级的线程,在自己的时间片用光之后,会被剥夺调度器,让给同优先级的其他线程。程序:#include static struct rt_thread thread1;static struct rt_thread thread2;static char thread1_stack[51...
阅读全文
posted @ 2013-02-18 11:27 lyyyuna
阅读(280)
评论(0)
推荐(0)
[RTT例程练习] 1.4 线程优先级抢占
摘要: RTT 是抢占式的RTOS,高优先级的线程会先执行。这个例程显示了是如何抢占的。解释我懒得写了,下面这段来自官网论坛:因为更高的优先级,thread1率先得到执行,随后它调用延时,时间为3个系统tick,于是thread2得到执行。可以从打印结果中发现一个规律,在第一次thread2了打印两次thr...
阅读全文
posted @ 2013-02-18 11:20 lyyyuna
阅读(271)
评论(0)
推荐(0)
[RTT例程练习] 1.3 线程让出
摘要: RTT 支持相同优先级,而ucosii 不支持。如果一个线程不调用rt-thread_delay() 来让出调度器,那么它就会一直运行,其它线程永远处于就绪态。而相同优先级的线程,在初始化或创建时还定义了其单次运行的最长的时间片,强迫其让出调度器。这里,使用rt_thread_yield(); 也可...
阅读全文
posted @ 2013-02-18 11:06 lyyyuna
阅读(273)
评论(0)
推荐(0)
[RTT例程练习] 1.2 静态线程除初始化与脱离
摘要: 静态线程的栈是在编译时确定的,故不能由内核动态的创建或删除。静态线程只能通过detach 来使其脱离内核的调度而做不到 delete。所以静态线程中会像这样定义栈static rt_uint8_t thread1_stack[512];这一点是和ucosii 类似的,但ucosii 没有动态线程。个...
阅读全文
posted @ 2013-02-18 10:54 lyyyuna
阅读(520)
评论(0)
推荐(0)
[RTT例程练习] 1.1 动态线程创建,删除
摘要: 创建两个动态线程,thread2 运行4s后删除thread1。这里两个都为动态线程,所谓动态线程即在堆中动态创建,删除之后也从RAM中消失。区别于静态线程。由于是动态,所以需开启#define RT_USING_HEAP以下是application.c 的代码#include rt_thread_...
阅读全文
posted @ 2013-02-18 10:42 lyyyuna
阅读(258)
评论(0)
推荐(0)
[RTT例程练习] 总目录
摘要: 寒假闲来无事,把RTT官网上的初学者例程中的一部分实现了一遍。以下的这些实验有助于了解一般RTOS的用法。虽然现在RTT的版本比较多,但这些例程的效果都是和版本无关的。配置和编写有关RTT的程序也比较简单,只需改动 rtconifg.h 和 application.c 即可。还有一个好处,所有的实验...
阅读全文
posted @ 2013-02-18 10:33 lyyyuna
阅读(178)
评论(0)
推荐(0)
2013年2月5日
extern int Image$$RW_IRAM1$$ZI$$Limit
摘要: RO段、RW段和ZI段 --Image$$??$$Limit 含义一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解...
阅读全文
posted @ 2013-02-05 10:24 lyyyuna
阅读(934)
评论(0)
推荐(0)
2013年2月4日
RTT startup.c 代码学习
摘要: RTT的学习集中在应用层,底层的代码会在必要的时候涉及一下。startup是RTT的启动代码,类似于ucos。void rtthread_startup(void){ /* init board */ rt_hw_board_init(); /* show version */ ...
阅读全文
posted @ 2013-02-04 10:04 lyyyuna
阅读(604)
评论(0)
推荐(0)
2013年1月31日
清除旧的Linux内核
摘要: 1.查看系统存在的内核dpkg --get-selections | grep linux2.显示当前的内核uname -a3.升级内核sudo apt-get dist-upgrade4.删除内核带有image的文件是需要删除的,一定要写全版本等字符。其他相关文件会自动删除。sudo apt-ge...
阅读全文
posted @ 2013-01-31 08:21 lyyyuna
阅读(319)
评论(0)
推荐(0)
2013年1月28日
Git和Github初次使用
摘要: 使用GitHub步骤:1、申请GitHub帐户 xxx ,创建名为new-project的新Repository2、安装Git客户端(Linux)#yum install git git-gui3、 生成密钥对,这样项目可以push到 GitHub上#ssh-keygen -t rsa -C "xx...
阅读全文
posted @ 2013-01-28 16:14 lyyyuna
阅读(109)
评论(0)
推荐(0)
Linux操作系统下三种配置环境变量的方法
摘要: 现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法。1.修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问...
阅读全文
posted @ 2013-01-28 16:03 lyyyuna
阅读(150)
评论(0)
推荐(0)
2013年1月23日
linux 下生成核心文件
摘要: 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制--------------------------------- 1)使用ulimit ...
阅读全文
posted @ 2013-01-23 19:32 lyyyuna
阅读(190)
评论(0)
推荐(0)
2011年7月27日
Altium Designer 批量修改属性
摘要: Altium Designer 批量修改属性2010-07-15 11:23:17|分类: 电路设计 |标签: |字号大中小订阅 下面这部分是我转载在网上其它地方查到的内容:http://hi.baidu.com/hellowsn/blog/item/8d93b217969f584621a4e950...
阅读全文
posted @ 2011-07-27 11:16 lyyyuna
阅读(1217)
评论(0)
推荐(0)
2011年2月14日
实现基本工作空间和函数之间数据的相互调用
摘要: [a1, a2, ...] = evalin(ws, expression); 在工作空间ws中执行expression命令或表达式,并将执行的结果保存到变量a1、a2、...中。函数的调用方法如下所示:v = evalin('base', 'var'); %把基本工作空间中的变量var的值赋给局部...
阅读全文
posted @ 2011-02-14 16:08 lyyyuna
阅读(263)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告