10 2016 档案

摘要:mosquitto提供了一个参考示例: void mosquitto__daemonise(void) { #ifndef WIN32 char *err; pid_t pid; pid = fork(); if(pid < 0){ err = strerror(errno); log__print 阅读全文
posted @ 2016-10-31 21:45 yuxi_o 阅读(224) 评论(0) 推荐(0)
摘要:了解一个文件系统,除了了解运行机制(RAM结构)外,还需了解文件系统怎样物理存储的。RAM数据结构是为文件系统更好运行,而物理存储是文件系统载体。文件系统出问题后,最终要从物理存储寻找数据。参考“How Yaffs Works”,文件数据都以顺序日志形式写到flash中,日志的每个entry都是一个 阅读全文
posted @ 2016-10-30 19:12 yuxi_o 阅读(2196) 评论(0) 推荐(0)
摘要:概述 yaffs2文件系统镜像通过mkyaffs2img工具制作,由源码可编译出两个镜像工具mkyaffsimage和mkyaffs2image,其中mkyaffsimage是针对yaffs文件系统,而mkyaffs2image是针对yaffs2文件系统(yaffs和yaffs2区别可参考官方文档H 阅读全文
posted @ 2016-10-30 19:10 yuxi_o 阅读(1706) 评论(0) 推荐(0)
摘要:一、内核时间概念 1. 了解下linux系统中一些时间概念,在kernel/time/timekeeping.c中定义了多个时间。RTC时间:在PC中,RTC时间又叫CMOS时间,通常由一个专门的计时硬件来实现,软件可以读取该硬件来获得年月日、时分秒等时间信息,而在嵌入式系统中,有使用专门的RTC芯 阅读全文
posted @ 2016-10-30 19:06 yuxi_o 阅读(1731) 评论(0) 推荐(0)
摘要:9G10中PIT(Periodic Interval Timer)提供OS调度中断,它提供了最高精度和最有效的管理(即使系统长时间响应)。一. 硬件PIT目标是提供OS的周期中断。PIT提供一个可编程溢出计数器和一个reset-on-read特性。它包含两个计数器:20bit CPIV counte 阅读全文
posted @ 2016-10-30 19:01 yuxi_o 阅读(450) 评论(0) 推荐(0)
摘要:在linux2.6.30内核中,内核也提供了相关的平台驱动来操作gpio或LED,但更简便的方法是直接操作GPIO来控制led。 网上一博文中介绍直接封装led_on和led_off()函数直接调用即可。 void led1_on() { s3c_gpio_cfgpin(LED_ID1, S3C_G 阅读全文
posted @ 2016-10-30 12:22 yuxi_o 阅读(259) 评论(0) 推荐(0)
摘要:string函数分析string函数包含在string.c文件中,经常被C文件使用。1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把str2指向的字符串拷贝到str1中去函数返回: 返回str1,即指向str1的指针 /** * s 阅读全文
posted @ 2016-10-30 11:56 yuxi_o 阅读(560) 评论(0) 推荐(0)
摘要:工具链软件包括BINUTILS、GCC、GLIBC、GDB等。 BINUTILS是二进制程序处理工具,包括链接器、汇编器等目标程序处理的工具。 GCC(GNU Compiler Collection)是编译器。对于C/C++语言的完整支持,需要支持glibc库。 GLIBC是应用程序编程的函数库软件 阅读全文
posted @ 2016-10-30 11:21 yuxi_o 阅读(4825) 评论(0) 推荐(0)
摘要:1. 打开终端 ctrl+ALT+T 新终端 ctrl+shift+T 原有终端新页面 alt+1 alt+2 alt+3 切换标签页 2. 忘记root密码 redhat下 单用户进入grub 在核心文件后加“single” kernel /boot/vmlinuz-2.4.19 root=/de 阅读全文
posted @ 2016-10-30 10:27 yuxi_o 阅读(226) 评论(0) 推荐(0)
摘要:一. 内核编译 1) linux 2.4make clean/make mrpropermake depmake zImagemake modules //编译模块2) linux 2.6make clean/make mrpropermake // 编译内核同时编译了模块3) 模块安装上述步骤完成 阅读全文
posted @ 2016-10-30 10:18 yuxi_o 阅读(485) 评论(0) 推荐(0)
摘要:源码维护基本命令 一. diff--生成补丁 diff [命令行选项] 源文件 新文件 -r 递归处理相应目录 -N 包含新文件到patch -u 输出统一格式(unified format),这种格式比缺省更紧凑些 -p 如果不同在函数中,则提示所在函数名 -a 可以包含二进制文件到patch中 阅读全文
posted @ 2016-10-30 09:02 yuxi_o 阅读(497) 评论(0) 推荐(0)
摘要:在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.x。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2. 阅读全文
posted @ 2016-10-30 07:48 yuxi_o 阅读(372) 评论(0) 推荐(0)
摘要:若要板卡支持CPU内置看门狗,可做如下修改。 1. bootstrap中开启cpu内置看门狗。 2. uboot中增加喂狗。 1)定义看门狗宏定义:include\configs\at91sam9260ek.h #define CONFIG_HW_WATCHDOG 2)增加看门狗函数:board/a 阅读全文
posted @ 2016-10-25 21:00 yuxi_o 阅读(854) 评论(0) 推荐(0)
摘要:1. cdev是linux用来管理字符设备的结构体,其在内核中采用数组结构设计,这样系统中有多少个主设备号就约定了数组大小,此设备号采用链表管理,同一主设备号下可以有多个子设备。设备即文件,上层应用要访问设备,必须通过文件,cdev中包含file_operations结构体,该结构体就是驱动的文件操 阅读全文
posted @ 2016-10-25 20:38 yuxi_o 阅读(5914) 评论(0) 推荐(0)
摘要:一、v4l2基础 V4l2是V4L的升级版本,为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。 经典例程:https://linuxtv.org/downl 阅读全文
posted @ 2016-10-24 22:15 yuxi_o 阅读(8970) 评论(0) 推荐(0)
摘要:物联网网关 工业物联网网关 ARM嵌入式工控机 LINUX 网关应用软件二次开发 山东安嵌智能科技有限公司 http://www.rsshine.com/ imx8 珠海明远智睿科技有限公司 MY-IMX8M-EK300 使用及开发指导 - 明远智睿的wiki MY-IMX8M-EVK 介绍手册 - 阅读全文
posted @ 2016-10-23 19:44 yuxi_o 阅读(474) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2016-10-23 19:12 yuxi_o 阅读(165) 评论(0) 推荐(0)
摘要:嵌入式实时操作系统(RTOS)设计 摘要 本文从实时操作系统实时性的重要性出发,引出了基于优先级和时间片的实时性的实现方案:链表+位图,并在此基础上提出了一种嵌入式实时操作系统的实现方案——ATOP操作系统。关键词:嵌入式 实时操作系统 优先级调度 时间片轮询 1 前言实时操作系统(RTOS)是指能 阅读全文
posted @ 2016-10-23 18:29 yuxi_o 阅读(2106) 评论(0) 推荐(0)
摘要:转自:http://www.csdn.net/article/2013-05-02/2815118 专访邓凡平:Android开发路上的快速学习之道 邓凡平(网名innost),毕业于中科院研究生院,资深Android开发工程师,热衷于Android源代码的研究,对Android的架构设计和实现原理 阅读全文
posted @ 2016-10-23 18:12 yuxi_o 阅读(441) 评论(0) 推荐(0)
摘要:选自《Android内核剖析》 Framework定义了客户端组件和服务端组件功能及接口。包含3个主要部分:服务端,客户端和Linux驱动。 (一)服务端 服务端主要包含两个重要类,分别是WindowManagerService(Wms)和ActivityManagerService(Ams)。Wm 阅读全文
posted @ 2016-10-23 17:58 yuxi_o 阅读(434) 评论(0) 推荐(0)
摘要:Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。 1. Linux内核(Linux Kernel) 1)Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。 2 阅读全文
posted @ 2016-10-23 17:48 yuxi_o 阅读(566) 评论(0) 推荐(0)
摘要:输入设备(如按键、键盘、触摸屏、鼠标等)是典型的字符设备,其一般的工作机理是底层在按键、触摸等动作发送时产生一个中断(或驱动通过timer定时查询),然后CPU通过SPI、I2 C或外部存储器总线读取键值、坐标等数据,放入1个缓冲区,字符设备驱动管理该缓冲区,而驱动的read()接口让用户可以读取键 阅读全文
posted @ 2016-10-23 17:36 yuxi_o 阅读(1325) 评论(0) 推荐(0)
摘要:rx-8025是片外I2C实时时钟,其应用于9260板卡方法如下。总体思想是配置内核添加驱动(I2C驱动,内核已提供的很完备),板级文件添加设备,添加设备文件以应用程序操作。 1. 配置内核 1)I2C支持(可选择debug信息)。 2)I2Chw选择gpio作为I2C硬件。 3)不选择片上RTT, 阅读全文
posted @ 2016-10-23 16:14 yuxi_o 阅读(2666) 评论(0) 推荐(0)
摘要:0. static修饰变量和函数 static修饰变量,1)限定作用域,本文件内。全局变量(自定义起,本文件前面要用需extern声明),局部变量函数内;2)生命周期,程序运行期间一直保存。 static修饰函数,限定作用域,本文件内。 1. enum类型变量大小为4(sizeof),不论enum成 阅读全文
posted @ 2016-10-23 13:29 yuxi_o 阅读(278) 评论(0) 推荐(1)
摘要:转自:http://blog.csdn.net/benkaoya/article/details/8719257 本博下有许多实用技巧 1. 什么是问题跟踪系统 问题跟踪系统(Issue Tracking System)是专门用于记录、跟踪和管理各类问题的软件。 问题跟踪系统出现于上世纪80年代,最 阅读全文
posted @ 2016-10-18 13:42 yuxi_o 阅读(439) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/hpunix/articles/859288.html 大多数象我这样对软件有浓厚兴趣的人,毕业后义无反顾地走进了企业,开始了程序员的生涯。那时,我们迷恋“大全”、“秘籍”一类的书籍,心中只有代码。当我看到一行行枯燥的代码变成了能够打电话的设备,变 阅读全文
posted @ 2016-10-18 10:09 yuxi_o 阅读(268) 评论(0) 推荐(0)
摘要:转自:Uboot中start.S源码中指令级的详尽解析 green-waste为何 C 语言(的函数调用)需要堆栈,而汇编语言却需要堆栈之前看了很多关亍uboot的分析,其中就有说要为C语言的运行,准备好堆栈。而自己在Uboot的start.S汇编代码中,关于系统初始化,也看到有堆栈指针初始化这个动 阅读全文
posted @ 2016-10-15 12:03 yuxi_o 阅读(1089) 评论(0) 推荐(0)
摘要:word中符号替换 1. 在网页复制内容时,下箭头用“^l”表示(字母L小写),回车用“^p”表示,可用替换命令全局替换(ctrl+f)。 2. 添加底纹菜单在“边框”项下(开始->图标最后一个边框),菜单的最后一项即为“边框和底纹”。 3. 左对齐使文本显得不松散。 4. 段落菜单的“中文板式”下 阅读全文
posted @ 2016-10-15 11:31 yuxi_o 阅读(211) 评论(0) 推荐(0)
摘要:1. 概述yaffs文件系统专为Nandflash设计的日志文件系统,占用page中oob区域。目前有两个版本的yaffs文件系统。nandflash不可靠,存在坏块,存在数据错误,需要软件弥补纠正此错误。在yaffs中分配单元为CHUNK(chunk),一般情况,典型情况下其值与一页(page)大 阅读全文
posted @ 2016-10-09 21:07 yuxi_o 阅读(7499) 评论(0) 推荐(0)
摘要:一般情况下,与板卡相关的内容都在bsp中(即arch/arm/mach-xxx/board-xxx.c)中,但norflash的分区直接放在norflash驱动中。由于norflash应用基于mtd,所以驱动位于drivers/mtd/目录下,chips目录是norflash相关公用驱动,maps是 阅读全文
posted @ 2016-10-09 20:39 yuxi_o 阅读(1878) 评论(0) 推荐(0)
摘要:likely()与unlikely()在2.6内核中,随处可见,那为什么要用它们?它们之间有什么区别呢?首先明确: if (likely(value))等价于if (value) if (unlikely(value))等价于if (value) 也就是说likely()和unlikely()从阅读 阅读全文
posted @ 2016-10-09 20:22 yuxi_o 阅读(21742) 评论(0) 推荐(0)
摘要:文章来源:http://blog.csdn.net/uyiwfn/article/details/7172339在Linux中,给kernel传递参数以控制其行为总共有三种方法:1.build kernel之时的各个configuration选项。2.当kernel启动之时,可以参数在kernel被 阅读全文
posted @ 2016-10-09 20:21 yuxi_o 阅读(1338) 评论(0) 推荐(0)
摘要:Linux内核源码分析方法 转自:http://www.cnblogs.com/fanzhidongyzby/archive/2013/03/20/2970624.html 一、内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如 阅读全文
posted @ 2016-10-09 20:14 yuxi_o 阅读(176) 评论(0) 推荐(0)
摘要:Linux模块机制浅析 转自:http://www.cnblogs.com/fanzhidongyzby/p/3730131.htmlLinux允许用户通过插入模块,实现干预内核的目的。一直以来,对linux的模块机制都不够清晰,因此本文对内核模块的加载机制进行简单地分析。模块的Hello Worl 阅读全文
posted @ 2016-10-09 20:10 yuxi_o 阅读(265) 评论(0) 推荐(0)
摘要:Serial Peripheral Interface,有四根线: SCLK: Serial Clock (output from master); MOSI; SIMO: Master Output, Slave Input(output from master); MISO; SOMI: Mas 阅读全文
posted @ 2016-10-09 14:46 yuxi_o 阅读(418) 评论(0) 推荐(0)
摘要:驱动程序的角色 作为一个程序员, 你能够对你的驱动作出你自己的选择, 并且在所需的编程时间和结果的灵活性之间, 选择一个可接受的平衡. 尽管说一个驱动是"灵活"的, 听起来有些奇怪, 但是我们喜欢这个字眼, 因为它强调了一个驱动程序的角色是提供机制, 而不是策略. 机制和策略的区分是其中一个在 Un 阅读全文
posted @ 2016-10-09 10:37 yuxi_o 阅读(1036) 评论(0) 推荐(0)
摘要:In AM335x the ROM code serves as the bootstrap loader, sometimes referred to as the Initial Program Loader (IPL)or the Primary Program Loader (PPL). T 阅读全文
posted @ 2016-10-02 18:10 yuxi_o 阅读(301) 评论(0) 推荐(0)