mkimage使用详解

uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。 mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么fprintf (stder
阅读本文

技术积累BCM-SDK架构分析及源码移植-nios2平台移植

技术积累BCM-SDK架构分析及源码阅读                                                                           ---北京华环电子 任晓亮 2016/01/09希望:已经进入黑夜,黎明还会远吗?经过两周的坚持不懈,SDK终于在Linux-V3.0版本编译通过。今天开始慢慢分析阅读源码。一.SDK初始化前,需要对SDK的架
阅读本文

提高网络效率的总结

1. 异步化,以epoll为代表。libevent也是基于epoll而实现的。 2. 消息驱动,是跟异步化相结合,reactor模式。另有Scala的Actor模式,是完全的消息交互。 3. 一些TCP参数,比如禁掉Nagle选项,不要打开CORK算法,使得发包和ack不要延迟太多。 4. SO_LINGER解决TIME_WAIT状态过多的问题。尤其是短连接。可以参考 如下:不管长连接还是短连接,
阅读本文

看过来!2016华清远见十大事件很劲爆

春去秋来冬又至,2016年的华清远见带着“洪荒之力”一路狂奔,取得了令华清人骄傲的成绩。3大业务的强势崛起、2大分中心的正式入驻、2本重磅图书的出版、高校师资班的成功举办以及多个荣誉的获得,印证了华清一年来的努力和突破。  正在为年终奖“艰苦奋斗”的华妹灵感突现,为小伙伴们盘点出了华清2016年度十大劲爆事件!一起来看看吧!  NO.1 千呼万唤始出来——华清创客学院正式上线  华清创客学院(ww
阅读本文

VxWorks IP地址设定

与Linux操作系统一样,IP地址的设置对于VxWorks操作系统来说是件最为平常的事。本人初学VxWorks,碰到了此问题,就写下总结希望对和我一样的初学者有帮助,同时也给自己以后的需要留点足迹。   U-Boot的启动: 在未进入系统之前,也就是U-Boot中,可以使用设置环境变量方法配置主机IP,方法如下: setenv ipaddr 192.168.20.200 (本机IP地址
阅读本文

了解物联网生态系统

物联网生态系统剖析可穿戴设备和家庭自动化设备当今主宰着物联网市场,但是物联网的整个生态系统将不断向前演进。 图 1 展示了物联网生态系统简图:左侧是终端设备。 它们是物联网的终端,提供了通过传感器和致动器感知和控制环境的途径。网关收集来自终端设备的数据,然后传输给云(同时通过云提供控制)。 在一些情况下,网关可以处理数据,以增加生态系统的价值。云提供了存储数据和执行分析的途径。 云的重要性在于:它
阅读本文

《VxWorks学习笔记》——任务属性

VxWorks任务区别于通用系统的两个特点:1)VxWorks任务与内核具有相同的权限,能够执行处理器支持的全部指令。2)所有任务和内核共享同一实地址空间,不同任务的数据没有任何保护机制。 1、  任务控制块(WIND_TCB):系统调度器用来管理任务调度的一个数据结构,每个任务都与一个TCB相关联,主要包括任务ID,任务名称,任务优先级和任务上下文等(VxWorks系统中TCB不用包含内存
阅读本文

VxWorks各部分初始化流程

一)configAll.h中定义所有定置系统配置的宏 INCLUDED SOFTWARE FACILITIES:定义了基本组件; EXCLUDED FACILITIES:定义了扩充组件,缺省不包括; KERNEL SOFTWARE CONFIGURATION:内核运行的基本参数定义,包括文件个数、任务个数等等; “GENERIC“ BOARD CONFIGURATION:板通用属性定义;
阅读本文

vxworks中FUNCPTR、LOCAL、STATUS的原型

比较常见的在/target/h/vxworks.h文件中:         LOCAL<=>static         STATUS<=>int         IMPORT<=>extern         FAST<=>register       FUNCPTR在文件target/h/types/vxTypesOld.h中:     #ifdef __cplusplus
阅读本文

阻塞与非阻塞的IO网络读写

看我之前的文章就知道,一般对于网络读的socket,都会加上O_NONBLOCK,非阻塞的选项。int setnonblocking(int fd) { int old_option = fcntl(fd, F_GETFL); int new_option = old_option | O_NONBLOCK; fcntl(fd, F_SETFL, new_option); retu
阅读本文

操作系统之进程的状态

进程的状态 就绪(Ready)状态 当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。   执行状态进程已获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态。     阻塞状态正在执
阅读本文

VxWorks操作系统基础(适合初学者阅读) .

1 实时操作系统概述 1.1 实时操作系统 在计算的早期开发的操作系统的最原始的结构形式是一个统一的实体(monolithic)。在这样的系统中,提供的不同功能的模块,如处理器管理、内存管理、输入输出等,通常是独立的。他们在执行过程中并不考虑其他正在使用中的模块,各个模块都以相同的时间粒度运行,即严格按时间片分时方式运行。 由于现代实时环境需要许多不同的功能,以及在这样的环境中存在的并发
阅读本文

Linux系统调用及用户编程接口(API) (四)

由于lseek函数的返回值为文件指针相对于文件头的位置,因此下面调用的返回值就是文件的长度:                  lseek(fd, 0, SEEK_END) 二、库函数 C库函数的文件操作是独立于具体的操作系统平台的,不管是在DOS、Windows、Linux还是在VxWorks中都是这些函数。 三、库函数-创建和打开 FILE *fopen(const char
阅读本文

如何学习嵌入式软件

什么是嵌入式?        嵌入式分为广义和狭义两种。广义的嵌入式就是片上系统(system on a chip),包括单片机、PSOC、NIOS、Microblaze等。而狭义的嵌入式就是ARM9、cortex A8等特定的跑操作系统的芯片。这里主要介绍狭义嵌入式的学习路线。        还是主流的方法,先学会使用它,再深入研究底层。        常用的操作系统有Linux、WIN CE、
阅读本文

Python的特点

Python的特点1. 简单 Python是一种代表简单思想的语言。 2. 易学 Python有极其简单的语法。 3. 免费、开源 Python是FLOSS(自由/开放源码软件)之一。 4. 高层语言 使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。 5. 可移植性 Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、
阅读本文

进程与线程及其区别

1.进程和线程1.1 概述:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤
阅读本文

vxworks 6.6试用

1.vxworks 6.6下载 vxworks 6.6的下载地址和License文件可以从http://www.cedn.cn/bbs/viewthread.php?tid=17873&extra=page%3D1%26amp%3Bfilter%3Ddigest处获取。 2.vxworks 6.6安装windows的程序安装都是那么的傻瓜化,忒easy,不多说。不过让人欣喜的是vxworks 6是
阅读本文