- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 小四轴姿态融合
1、四旋翼涉及的内容比较多,硬件电路、C程序、控制算法、上位机Java、Android等等。 2、一般而言四旋翼程序分为几个部分更新姿态角基于加速度计、陀螺仪和磁力计的姿态融合,实时更新四元数,并由四元数解算姿态角首先由加速度值初始化俯仰角和横滚角,由磁力计初始化航向角,由上面的姿态角初始化四元数init_ax=(float)(accel[0]/ Acc
2014-02-28 16:12:50
3156
原创 linux-0.11学习笔记(二)——从main函数到进程1执行
2、从main函数到进程1执行① 在main到进程执行前,必须先初始化CPU及外设,就如同在单片机编程时开启中断前的所有过程,因为我们可以想象到所需做的工作为:初始化内存、初始化陷阱门、初始化块设备、初始化字符设备、初始化tty、初始化时钟(为后面任务切换做准备)、初始化调度程序(这里将进程0的task_struct初始化,并且将task_struct首地址挂载到task数组中,tss
2013-03-29 23:52:49
909
原创 linux-0.11学习笔记(一)——从加电到main执行前
1、关于linux-0.11从加电到main函数前在加电后,计算机执行过的程序有bios、bootsect.s、setup.s和head.s,下面分析下各段程序都做了什么,到main函数执行前内存中是个什么状况,还需要做些什么,希望能有个总体的分析。① 首先,开机加电后硬件从0xFFFF0处开始执行,也就是bios程序的入口,在bios 程序中bios在内存最开始的位置(即:0x0
2013-03-27 22:34:59
897
原创 uCOS学习笔记(四)——事件标志组
6、关于事件标志组一、用来保存当前事件组中各事件状态的一些标志位;二、等待这些标志位置位或清除的任务列表事件标志组和事件标志节点用于挂接每个等待事件的任务,假设当前任务等待的事件标志没能就绪,那么当前任务需要被挂起等待,通过当前任务调用OS_FlagBlock()实现,首先需要添加当前任务到事件标志组等待任务链表中(采用前向挂接,即下一个节点挂接在上一个前向),然后清除该任务就绪标志,具体
2013-02-21 23:09:47
2315
原创 直方图均衡
// Histogram Equalization.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #define N 20#define HEADER 54int statistic(unsigned char *filebuffer,int statis[],int bfSize,int bfOffBits,unsign
2013-02-20 12:14:36
393
原创 uCOS学习笔记(三)——信号量和互斥信号量
4、关于信号量的作用信号量(semaphore)用于实现任务间共享资源的管理、一个或多个事件的发生,比如现在有一个共享资源a,现在任务1获得访问权,那么对于其余任务来说就没有访问权限,在采用信号量时,可以这样设计,如果任务1获得访问权,那么在访问前将信号量置1,然后访问,访问结束后置0,这样,在任务1访问时,其他任务就无法访问该资源了,就实现了共享资源的管理了。另外,在实现任务访问N个相同
2013-02-19 00:28:13
667
原创 uCOS学习笔记(二)——从加电到多任务执行
uCOS学习笔记(二)3、ucos操作系统的处理器中自加电至开始多任务执行之间的过程以MSP430为例,在处理器加电后,CPU从0C00h地址处取指(msp430flash、ram统一编址),那么也是说编译后的二进制代码要存储在0C00h起的位置上。对于嵌入式系统这个入口就是main函数的入口,也就是整个程序的入口,对于非嵌入式操作系统这个入口其实是bios的main用于引导操作系统在
2013-02-06 22:21:22
521
原创 uCOS学习笔记(一)——uCOS中的死循环
ucos操作系统学习笔记(一)1、关于在单核处理器中的死循环问题如果在单核处理器操作系统的某个任务中加入这样一句话while(1){},那么此时的执行会是怎么样的呢,让我们分析下首先,如果是单核处理器,碰到这样的情况处理器立即进入死循环状态,除非有中断,会跳入中断服务函数中执行,完了始终是死循环状态,那么这种情况下,操作系统会扮演什么样的角色?我觉得此时操作系统是无能为力的,因为操作系
2013-02-05 21:01:51
2192
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人