Canvas----绘制常用的基本图形

1.绘制圆形 public void drawCircle(float cx, float cy, float radius, Paint paint) 参数分别为:圆心x坐标、圆心y坐标、半径、绘制的画笔。 public void initPaint() { mPaint=new Paint(); mPaint.setColor(Color.RED);
阅读本文

多核初始化过程

平台介绍: loongson3A-4核cpu(mips架构),vxWorks6.8多核cpu启动时,刚开始时是cpu0在运行,后面才会初始化其他三个核,这里就说一些其他三个核的初始化过程。 函数调用关系: usrRoot-->usrSmpInit-->usrEnableCpu-->kernelCpuEnableInternal-->vxCpuStateInitkernelCpuEnableInte
阅读本文

把中断路由到对应的cpu上

当cpu使能后(使能时就会进行初始化),就可以正行运行了,当然也包括处理中断,但是这个时候,中断还没有路由到对应的cpu上。 这里呢就分析一下中断是怎么路由到它自己对应的cpu上的。看一下函数调用: usrRoot-->usrSmpInit-->usrEnableCpu-->usrSmpCpuEnableHook-->vxbIntToCpuRoute-->vxbDevMethodRun-->vxb
阅读本文

vxWorks中的中断的两条线路

为什么起一个这样的题目呢? 就是说明一下中断一硬一软两个路线: 1,硬件上中断来了之后怎么再cpu上表现出来呢? 2,软件上cpu分发中断时怎么判别出来是什么中断呢?并调用相关的处理函数 这里呢就还是借用loongson3a+2h开发板来说一下。 这个板子是用loongson3A-4核处理器作为cpu,loongson2H-单核处理器作为桥片来处理网卡,usb,vga,LPC,sata
阅读本文

vxWorks中的多核间的通信

平台介绍: loongson3a-4核cpu,vxWorks6.8环境 一,核间通信的控制器驱动 核间通信是通过中断来进行实现的。系统中定义了两个全局变量,是用来管理核间通信的,看看他们作用具体是什么? _WRS_DATA_ALIGN_BYTES(32) INT_CTLR vxbSbIntCtlr[VX_MAX_SMP_CPUS]; typedef struct sb1IntCtlr
阅读本文

第一章、Tiny4412 U-BOOT移植一 说明

一、移植前说明:1、  特别声明:此文档是我的学习文档,里面肯定有错误地方,仅供参考!2、移植平台:友善之臂Tiny4412SDK1306平台。3、移植系统:Ubuntu12.044、移植原始CODE:平台光盘中由Samsung提供的U-Boot-samsung-dev.tar.bz2。为什么用这个,只能说因为我也菜鸟,我找了u-boot官网最新的代码看了一下,我没有在boardsamsung目
阅读本文

recv函数返回值总结

函数原型:int recv( SOCKET s, char *buf, int  len, int flags) 功能:不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。 参数一:指定接收端套接字描述符; 参数二:指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据; 参数三:指明buf的长度; 参数四 :一般置为0。 阻塞与非阻塞recv返回值没有区分,都是
阅读本文

基于ARM的嵌入式Linux应用程序开发

0 引 言   当今社会,嵌入式系统已经渗透到人们工作、生活中的各个领域,嵌入式处理器已占分散处理器市场份额的94%。而嵌入式Linux系统也蓬勃发展,不仅继承了linux源码开放、内核稳定高效、软件丰富等优势,还具备支持广泛处理器结构和硬件平台、占有空间小、成本低廉、结构紧凑等特点。 1 ARM处理器及开发板   在嵌入式领域,ARM已取得了极大的成功,造就了IP核商业化、市场化的神话。据
阅读本文

信源编码第三次作业——lzo-实时数据库压缩

1、LZO介绍LZO 是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写。这个算法是无损算法,参考实现程序是线程安全的。 实现它的一个自由软件工具是lzop。最初的库是用 ANSI C 编写、并且遵从 GNU通用公共许可证发布的。现在 LZO 有用于 Perl、Python 以及 Java 的各种版本。代码版权的所有者是 Markus F. X. J.
阅读本文

让天堂的归天堂,让尘土的归尘土——谈Linux的总线、设备、驱动模型

写代码,适用于同样的原则,那就是把正确的代码放到正确的位置而不是相反。同样的一个代码,可以出现在多个可能的位置,它究竟应该出现在哪里,是软件架构设计的结果,说白了一切都是为了高内核和低耦合。1.   陷入绝境下面我们设想一个名字叫做ABC的简单的网卡,它需要接在一个CPU(假设CPU为X)的内存总线上,需要地址、数据和控制总线(以及中断pin脚等)。
阅读本文

linux4.10.8 内核移植(一)---环境搭建及适配单板。

一、环境搭建  源码包下载:git clone https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.8.tar.gz  或者直接去kernel.org上面进行下载。  交叉编译工具链制作:二、内核启动过程2.1 Windows 和 Linux 系统的启动区别    由bootloader确定启动哪块单板。2.2 修改makefile  下
阅读本文

U-boot mkimage指定Linux内核地址时的两种方式

uImage的制作是使用的u-boot工具mkimage,build完u-boot后也会将mkimage build出來到/tools目录下,可以直接拿來用,它的作用就是在zImage的前面加上64个字节的头,让u-boot能够识别要加载内核的类型、加载地址等。基本格式:mkimage -A arch -O os -T type -C comp -a addr -e ep -n name -d d
阅读本文

事件驱动机制跟消息驱动机制相比

事件:按下鼠标,按下键盘,按下游戏手柄,将U盘插入USB接口,都将产生事件。比如说按下鼠标左键,将产生鼠标左键被按下的事件。 消息:当鼠标被按下,产生了鼠标按下事件,windows侦测到这一事件的发生,随即发出鼠标被按下的消息到消息队列中,这消息附带了一系列相关的事件信息,比如鼠标哪个键被按了,在哪个窗口被按的,按下点的坐标是多少?如此等等。 1.要理解事件驱动和程序,就需要与非事件驱动的程序进行
阅读本文

白盒测试

白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
阅读本文

uemf.h文件注释

/* * uemf.h -- GoAhead Micro Embedded Management Framework Header * * Copyright (c) GoAhead Software Inc., 1995-2010. All Rights Reserved. * * See the file “license.txt“ for usage and redistribution l
阅读本文

Qt Creator下载和安装(详细教程)

简介Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project.org/ Qt本身支持众多操作系统。从通用操作系统Linux、Windows,到手机系统Android、iOS、WinPhone,嵌入式系统支持QNX、VxWorks,应用非常广泛。 基于Qt的软件非常
阅读本文

Linux下的段错误(Segmentation fault)

1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针、不存在的地址、受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用GDB print一下即可知道原因。2 内存读/写越界。包括数组访问越界,或在使用一些写内存的函数时,长度指定不正确或者这些函数本身不能指定长度,典型的函数有strcpy(strncpy),sprintf(snprint)等等。3 对于C+
阅读本文

Python进阶之路---1.1python简介

Python简介 Python简介 Python (发音:[ ‘paiθ(ə)n; (US) ‘paiθɔn ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的
阅读本文

[原]Nuttx内存管理的总结,碎片问题研究 @2012.07

Title:  Nuttx内存管理的总结,碎片问题研究。Describe: nuttx内存的管理方式,碎片问题,测试及总结。Time:   2012.07.10—2012.07.16Author:  xichen1. memory manage of nuttx:Real-time os.小巧,实时,完全可扩展。嵌入式实时的属性,决定其为非虚拟内存管理机制,防止不确定性的I/O阻塞时间,减少程序运
阅读本文