上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页
摘要: TCP/IP协议分层 提到协议分层,我们很容易联想到ISO-OSI的七层协议经典架构,但是TCP/IP协议族的结构则稍有不同。如图所示 TCP/IP协议族按照层次由上到下,层层包装。最上面的就是应用层了,这里面有http,ftp,等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这 阅读全文
posted @ 2016-05-27 11:33 SuGuolin 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 互斥锁和信号量很相似, RT-Thread 中的互斥锁也有静态和动态之分,和互斥锁有关的操作如下:初始化—rt_mutex_init()(对应静态互斥锁);建立—rt_mutex_create()(对应动态互斥锁);获取—rt_mutex_take();释放—rt_ mutex_release(); 阅读全文
posted @ 2016-05-23 11:26 SuGuolin 阅读(2459) 评论(0) 推荐(0) 编辑
摘要: 上面是魔笛开发板上 LED 和按键的 IO 分布,我们通过信号量的方法来同步按键线程和LED 线程,实现当 enter 键按下后,点亮或关闭 LED 的动作。 在开发板上实际运行程序后,我们看到,信号量确实起到了按键线程和 led 线程之间的同步作用:只有当按键按下后, led 灯才会有动作。 阅读全文
posted @ 2016-05-23 11:07 SuGuolin 阅读(1983) 评论(0) 推荐(0) 编辑
摘要: 以往2440和6410的启动方式,只要我们把裸板代码烧写到NAND FLASH的开始位置,当开发板上点启动时,处理器会自动从NAND FLASH上拷贝前面一段的代码到内部的RAM中执行。按照以前的方法,我写了一段汇编代码,如下: 代码没做什么具体的操作,大致如下: 1.只是将0写入看门狗寄存器0xE 阅读全文
posted @ 2016-05-20 10:48 SuGuolin 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 除了串口可以登入控制台,还可以用SSH2. ftp连接的时候要打开 vi /usr/sbin/stupid-ftpd.conf 修改端口,修改完端口,登入的时候root的密码跟以前不一样,可以从stupid-ftpd.conf 查看到 vi /etc/init.d/auto_config_netwo 阅读全文
posted @ 2016-05-19 17:16 SuGuolin 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 抽象的来讲,信号量的特性如下:信号量是一个非负整数(车位数),所有通过它的线程/进程(车辆)都会将该整数减一(通过它当然是为了使用资源),当该整数值为 0 时,所有试图通过它的线程都将处于等待状态。在信号量上我们定义两种操作: take ( 获取) 和Release(释放)。当一个线程调用 take 阅读全文
posted @ 2016-05-17 17:03 SuGuolin 阅读(2393) 评论(0) 推荐(0) 编辑
摘要: 禁止系统调度上一节《 多线程导致的临界区问题》中由于 test1 线程被 test2 线程打断,才导致了我们没有得到预期的结果,我们一般可通过关闭中断和调度器上锁这两种简单的途径来禁止系统调度,防止线程被打断,从而保证临界区不被破坏。 1、 关闭中断线程中关闭中断保护临界区的结构如下: 把调度器锁住 阅读全文
posted @ 2016-05-17 16:13 SuGuolin 阅读(1746) 评论(0) 推荐(0) 编辑
摘要: 结果分析:在 test1 线程的 for 循环中我们对 i 做了 10000 次累加,如果没有其他线程的“干预”,那么全局变量 g_tmp 的值应该是 10000,现在的输出结果是 10001,这意味全局变量 g_tmp 的值被线程 2 修改过。整个程序运行过程中各个线程的状态变化是这样的: rt_ 阅读全文
posted @ 2016-05-17 12:02 SuGuolin 阅读(2883) 评论(0) 推荐(0) 编辑
摘要: CPU 的使用率一般是我们比较关心的问题,在这里我们就用空闲线程的钩子函数去统计 CPU 的使用率,并通过串口打印出来。首先我们在初始化线程中设置好钩子函数,并在 LED 线程中给系统人为的加入很多“事情”,让其占用率变高,方便统计,然后每个 1 秒中打印一次 CPU 使用率。其中 CPU 的使用率 阅读全文
posted @ 2016-05-17 11:46 SuGuolin 阅读(2576) 评论(0) 推荐(1) 编辑
摘要: 前面两个例子演示的线程调度是由系统“主动干预”的情况的线程切换,其实我们也可以根据实际情况,采用主动让出 CPU 使用权。RT-Thread 中的系统函数: rt_thread_yield(),可以让调用它的线程暂时让出 CPU 的使用权,而使下一个最高优先级的线程得以运行,但这时调用 rt_thr 阅读全文
posted @ 2016-05-17 11:35 SuGuolin 阅读(1798) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页