自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

放飞梦想,成就未来

个人心得与笔记

  • 博客(17)
  • 资源 (21)
  • 收藏
  • 关注

原创 apt-get指令的autoclean,clean,autoremove的区别

下面总结一下有关apt-get的常用但容易混淆的指令:apt-get autoclean:    如果你的硬盘空间不大的话,可以定期运行这个程序,将已经删除了的软件包的.deb安装文件从硬盘中删除掉。如果你仍然需要硬盘空间的话,可以试试apt-get clean,这会把你已安装的软件包的安装包也删除掉,当然多数情况下这些包没什么用了,因此这是个为硬盘腾地方的好办法。apt-get clean:

2013-02-28 09:21:40 118471 9

原创 rt-thread中用消息队列实现广播功能的一种方法

前面几天在逛论坛时看见有人说RTT中没有广播机制,于是心血来潮,想自己动手写一个,于是有了此文.1 广播机制分析广播,这个词首先让我想到Android下的广播机制,其是基于Binder来实现的,然而RTT并不是Linux内核的东东,也没有Binder这样的IPC,RTT有自己的一套IPC机制,前面的文章中有说到信号,互斥量,事件,邮箱和消息队列,我们得从这方面动动脑筋.再回来广播这个词,现实中,电

2013-02-26 21:04:35 8234 6

原创 rt-thread的IPC机制之消息队列源码分析

消息队列是另一种常用的线程间通讯方式,它能够接收来自线程的不固定长度的消息,并把消息缓存在自己的内存空间中。其他线程也能够从消息队列中读取相应的消息,而当消息队列是空的时候,可以挂起读取线程。而当有新的消息到达时,挂起的线程将被唤醒以接收并处理消息。消息队列是一种异步的通信方式。如上图所示,通过消息队列服务,线程或中断服务子程序可以将一条或多条消息放入消息队列。同样,一个或多个线程可以从消息队列中

2013-02-22 21:22:25 5138 1

原创 rt-thread的IPC机制之邮箱源码分析

邮箱服务是实时操作系统中一种典型的任务间通信方法,通常开销比较低,效率较高,每一封邮件只能容纳固定的4字节内容(针对32位处理系统,刚好能够容纳一个指针).如下图所示,线程或中断服务例程把一则4字节长度(典型的是一个指针)的邮件发送到邮箱中。而一个或多个线程可以从邮箱中接收这些邮件进行处理。RT-Thread采用的邮箱通信机制有点类型传统意义上的管道,用于线程间通讯。它是线程,中断服务,定时器向线

2013-02-22 08:43:02 7323 1

转载 嵌入式系统基础

本文从http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=143整理而来.嵌入式系统基础1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向I

2013-02-21 20:46:41 6960 3

原创 rt-thread的IPC机制之事件源码分析

1 前言事件主要用于线程间的同步,与信号量不同,它的特点是可以实现一对多,多对多的同步。即一个线程可等待多个事件的触发:可以是其中任一一个事件进行触发唤醒线程进行事件的处理操作;也可以是几个事件都到达后才触发唤醒线程进行后续的处理。同样,事件也可以是多个线程同步多个事件。这种多个事件的集合可以用一个32位无符号整型变量来表示,变量中的一位代表一个事件,线程通过“逻辑与”或“逻辑或”与一个或

2013-02-21 15:24:19 4281

原创 rt-thread的IPC机制之互斥锁源码分析

互斥锁是管理临界资源的一种有效手段。因为互斥锁是独占的,所以在一个时刻只允许一个线程占有互斥锁,利用这个性质来实现共享资源的互斥锁保护。任何时刻只允许一个线程获得互斥量对象,未能够获得互斥量对象的线程被挂起在该互斥量的等待线程队列上。1 互斥锁控制块/** * Mutual exclusion (mutex) structure */struct rt_mutex{

2013-02-20 23:03:10 4604

原创 rt-thread的IPC机制之信号量源码分析

rt-thread操作系统的IPC(Inter-Process Communication,进程间通信)包含有信号量,互斥锁,事件,邮箱,消息队列.本文主要针对信号量.信号量是用来解决线程同步和互斥的通用工具,和互斥量类似,信号量也可用作资源互斥访问,但信号量没有所有者的概念,在应用上比互斥量更广泛。信号量比较简单,不能解决优先级翻转问题,但信号量是一种轻量级的对象,比互斥量小巧、灵活。因此在

2013-02-20 12:52:05 6153 1

原创 rt-thread的IO设备管理系统源码分析

rt-thread的IO设备管理模块为应用提供了一个对设备进行访问的通用接口,,并通过定义的数据结构对设备驱动程序和设备信息进行管理。从系统整体位置来说I/O管理模块相当于设备驱动程序和上层应用之间的一个中间层。I/O管理模块实现了对设备驱动程序的封装:设备驱动程序的实现与I/O管理模块独立,提高了模块的可移植性。应用程序通过I/O管理模块提供的标准接口访问底层设备,设备驱动程序的升级不会对上

2013-02-19 16:19:24 6537

原创 rt-thread的空闲线程源码分析

rt-thread的空闲线程在是线程空闲时执行的,它的主要操作是进行“垃圾回收”,这里的“垃圾”是待close掉的线程。1 空闲线程的实现在rt-thread线程启运时,系统会初始化空闲线程并启动它:/** * @ingroup SymstemInit * * This function will initialize idle thread, then start it.

2013-02-19 11:37:55 5545

原创 时钟中断是rt-thread的线程调度器的驱动力

1 系统时钟中断驱动引擎rt-thread操作系统中当线程时间片耗尽,或是当线程sleep一段时间后唤醒再被调度,此过程又是如何进行的呢?到底是谁来驱动这一过程的呢?答案是时钟中断源。且来看看时钟中断例程:在bsp/stm32f20x/drivers/board.c源文件中存在这么一个时钟中断例程代码:(这里以stm32f20x的MCU为例)/** * This is t

2013-02-19 10:04:49 5006

原创 rt-thread线程调度器获取当前最高优先级线程算法过程分析

上一章大概分析了rt-thread操作系统的线程调度器的源码,此文具体来讲讲rt-thread在调试时,是如何获取获得当前最高优先级线程的算法过程。之前已提到过,rt-thread采用了一个位图来实现此过程,在具体分析此过程之前,我们首先来看看此位图的结构及相关的一些参数变量。1 位图结构及相关参数1.1 位图结构在rt-thread的源码文件scheduler.c中在一位图映射表,如下定义:co

2013-02-18 22:29:19 6199

原创 rt-thread线程调度器源码分析

1 前言RT-Thread中提供的线程调度器是基于全抢占式优先级的调度,在系统中除了中断处理函数、调度器上锁部分的代码和禁止中断的代码是不可抢占的之外,系统的其他部分都是可以抢占的,包括线程调度器自身.系统总共支持256个优先级(0 ~ 255,数值越小的优先级越高,0为最高优先级,255分配给空闲线程使用,一般用户不使用。在一些资源比较紧张的系统中,可以根据情况选择只支持8个或32个优先

2013-02-17 18:03:43 7782

原创 rt-thread线程源码分析

rt-thread操作系统是一个多线程的操作系统,线程对于rt-thread来说是一个很重要的概念,因此,必须掌握它。1 线程控制块的数据结构/** * Thread structure */struct rt_thread{ /* rt object *///这里就是rt_object的结构,其实也可以用rt_object parent来定义,估计线程在早些时候并没有这么

2013-02-17 14:10:16 10330 2

原创 rt-thread的定时器管理源码分析

1 前言rt-thread可以采用软件定时器或硬件定时器来实现定时器管理的,所谓软件定时器是指由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够提供不受数目限制的定时器服务。而硬件定时器是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制器产生时钟中断。硬件定时器的精度一般很高,可以达到纳秒

2013-02-05 11:39:04 9875

原创 rt-thread的内核对象管理系统分析

rt-thread采用内核对象管理系统来访问和管理所有内核对象.首先来看看rt-thread的内核对象是如何定义的:1 数据结构1.1 对象控制块在include/rtdef.h头文件中可以找到内核对象有结构定义:/** * Base structure of Kernel object */struct rt_object{ char name[RT_

2013-02-04 15:01:04 7336

原创 rt-thread的小内存管理算法分析

rt-thread的小内存管理是rt-thread操作系统默认堆内存管理算法,是一种简单的内存分配算法,当有可用的内存的时候,会从中分割一块来作为分配的内存,而剩下的则返回到动态内存堆中.此算法采用了一个静态链表来实现的,其源码文件在根目录下的src目录下,包含mem.c和mem.h两个文件.1 数据结构小内存管理算法将内存看成是一个个内存块:struct heap_mem{ /* ma

2013-02-03 12:31:42 6910 1

USB_CDC_TEST.7z

此代码支持STM32F1,STM32F0,STM32F4..等USB IP核。

2017-05-04

multiple_drive_usb_sdcard_fat32

本工程实例如何同时读取U盘和SD卡的FAT32文件系统,基于STM3240G-EVAL评估板

2017-01-13

USB_DFU_Demo

基于STM32F407制作的DFU代码

2017-01-06

F407_USB_FLASH_DISK_SDCard

本DEMO通过USB读取U盘的方式读取SD卡内容

2017-01-04

STM32F407_SDIO_Test_AutoDetectSdCardIn_TwiceMountIssue_DMA

基于STM32F407的SDCard文件系统读取示例,FAT32文件系统,自动检测SD卡插拔,SDIO使用到了DMA传输的代码示例。

2017-01-03

F407_Host_MSC_Test

本附件为基于STM32F407的代码,示例如何创建读取U盘文件系统的工程

2016-12-21

USB_CDC_Test

使用CubeMx开发的USB CDC类示例代码

2016-11-17

Audio_Test for STM32F4Discovery

基于STM32F4Discovery板子的音频示例代码。

2016-11-10

STM32F407_SDIO_Test.7z

STM32F407基于SD卡的文件系统实例代码

2016-10-10

CAN_Filter_Test

CAN 过滤器测试代码

2016-08-25

STM32F070_USB-FS-Device_Lib V1.0.0

STM32F070_USB-FS-Device_Lib V1.0.0 从STM32F0x2移植过来的 基于标准库的USB全速库

2016-07-30

myuekeygen

windows下的UE注册机,我的UE是使用来注册的,必要在离线的状态下注册

2013-08-19

STM32F20xFlashLoader

这是一个简单小巧的专门针对STM32F20x系统的MCU的烧录工具,支持bin,hex文件烧录,且烧录时可由用户选择只擦除必要flash还是全部flash,以及读保护等功能。

2013-04-16

RTT broadcast test source code

rt-thread的广播机制和测试代码,欢迎大家下载进行测试.

2013-03-01

rt-thread广播机制测试源码

rt-thread广播机制源码及测试代码,希望下载进行测试.

2013-03-01

RTT广播测试源码

RTT广播机制及测试源码,希望大家下载测试一下。

2013-03-01

WinMPG MP4视频转换

一个很好的视频格式转换工具,里边有注册码,支持MP4格式转换,用来做ipad,iphone视频导入很方便,除了MP4格式外,一般的视频格式都支持。

2012-04-24

AccessPort

一个很好的串口监视工具,主要是可以监视指定的串口通讯,并不占用该串口,所以收藏了.

2012-04-24

Android repo工具

由于官网上的那个repo工具不能下载了,现在把这个工具上传下,以供其它人使用.

2012-04-21

commix1.4 串口通讯工具

一个很好的串口通讯工具,介绍给大家,也积累这个软件.

2012-02-06

VA_X_Setup1845

Visual Assist X V10.6.1845.0 支持VS2010,破解非常容易,先安装VA_X_Setup1845.exe,再运行那个破解软件VA_X_Setup1845_Patch.exe.如果你的是VS2010的话,则点击Path2010,OK!

2011-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除