十年经验教你如何学习嵌入式系统

十年经验教你如何学习嵌入式系统(基于ARM平台) 一、嵌入式系统的概念          着重理解“嵌入”的概念   主要从三个方面上来理解。       1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种
阅读本文

嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs

Linux 支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。 Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会
阅读本文

移植pjsip到嵌入式linux下多dsp端口问题

想把pjsip移植到嵌入式Linux下,该设备有多个fxs/fxo端口,每个端口对应一个dsp通道。pjsip目前只是对声卡类设备进行支持,实现的pjsua也仅仅对一个声卡设备支持,并不支持多端口。在移植中,可以考虑如下方法:1、把每个fxs/fxo端口对应的dsp通道适配成一个声卡设备,对pjsua改造,呼叫的时候,指定使用哪一个音频设备方法好处就是完全支持pjmedia现有的媒体框架,基本不改
阅读本文

STM8S_002_TIM精确延时(阻塞式)

Ⅰ、写在前面在某些特定场合,需要精确的延时(us级),特别是底层驱动。如果使用软件延时,延时会随系统时钟改变及各种因素影响而改变。因此,就需要使用TIM精确延时。 阻塞式延时:从延时开始至结束,程序一直阻塞在那里,不会跳转到其他地方(除中断)执行程序。不理解的朋友可以自己网上搜索答案。  http://pan.baidu.com/s/1i5uWhJR 版权所有,未经允许,禁止用于其它商业用途!!!
阅读本文

linux内核panic

1. Linux Kernel Panic的产生的原因      panic是英文中是惊慌的意思,Linux Kernel panic正如其名,linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来。 有两种主要类型kernel panic,后面会对这两类panic做详细说明: 1.hard panic(也就是Aieee信息输出) 2.soft panic (
阅读本文

机器人系统设计及控制技术附加学习资料

参考书籍:ROS机器人项目(2017-03,I,Python)ROS高效的机器人编程 - 第三版(2016-12,I,Python)5天内的ROS:完全实用的ROS培训(2016-12,I. Python)ROS_Robotics_By_Example(Python)Mastering ROS for Robotics Programming(2015-12,IJ,C ++)Programming
阅读本文

手把手教你在友善之臂tiny4412上用uboot启动Linux内核

要想用uboot启动内核,我推荐一种方法,用dnw下载内核到开发板上,然后用uboot命令启动:首先我在网上随便下了一个dnw工具,经过移植修改后,代码如下:/* YYX--->for tiny4412 dnw version:20170423 v1 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <m
阅读本文

linux 串口通信-配置与实例

打开串口在 Linux 下串口文件是位于 /dev 下的串口一 为 /dev/ttyS0,串口二 为 /dev/ttyS1打开串口是通过使用标准的文件打开函数操作: fd = open(“/dev/ttyS1“, O_RDWR | O_NOCTTY | O_NDELAY);其中O_RDWR:提供可读可写权限 O_NOCTTY:不将此设备分配作为此进程的控制终端 O_NDELAY:通知l
阅读本文

自考总结之操作系统

【小记】          伴随着第三次自考的落幕,操作系统的总结也是在有条不紊的进行着。 【概述】            操作系统的知识还是有章可循的,放上一张图,自行体会。                 【分叙】               引论     本章的知识点比较少,而且容易理解。但是本章是整本书的一个总结,需要认真去思考啊。
阅读本文

android控制gpio实现对小灯读写(一)

本实验通过GPIO口拉高拉低控制小灯的亮灭,作为刚刚从应用层转framework的小兵,写这篇文章希望对大家的学习有帮助。 什么是GPIO GPIO,英文全称为General-Purpose IO ports,也就是通用IO口。嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。而且,许多这样的设备/电路只
阅读本文

windows文件同步工具

windows 文件同步工具: realTimesync freefilesync second copy      second copy注册码: Name:爱学府软件园 注册码:15BF-E46C-672C
阅读本文

020 [虚拟系统]Win7网络连接红叉(无解决)

该虚拟机在重装主系统前是可以连接网络的,主系统重新安装以后,导入新安装的VM以后,网络图标显示红叉。  查看设备管理,显示没有安装以太网驱动。重新安装 Vmware Tools,未果。VMware官网文章:网络适配器从 Windows 虚拟机中消失 (2091664)可是这文讲的是网络适配器的暂歇性消失,与本现象不符合。谷歌到这文:【技术贴】虚拟机 VMware win7 win8网卡驱动下载 解
阅读本文

输入子系统之触摸屏分析

记录1: 字符设备设置名字在函数中 device_create(tty_class, device, dev, NULL, name); dev = device_create_vargs(class, parent, devt, drvdata, fmt, vargs); retval = kobject_set_name_vargs(&dev->kobj, fmt, args); r
阅读本文

深度学习caffe教程

阅读目录 Caffe的优势Caffe的网络定义数据及其导数以blobs的形式在层间流动。Caffe的各层定义训练网络安装了CUDA之后,依次按照Caffe官网安装指南安装BLAS、OpenCV、Boost即可。Caffe跑跑MNIST试试让Caffe生成的数据集能在Theano上直接运行Caffe (CNN, deep learning) 介绍Caffe深度学习之图像分类模型AlexNet
阅读本文

complexType

//decltype的表达式如果是加上括号的变量,结果将是引用 decltype((variable)) ruiy; //此变量的数据类型是引用(但此处变量的申明语句是错误的,引用不是对象,指向的对象后将不能再指向别的变量) ,所以引用变量 类型必须初始化 decltype((i)) d; //d是int& 变量尽量初始化 尤其是局部变量;   decltype((varuable))结果
阅读本文

Lua 5.3 参考手册

1 – 简介Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。 Lua 由 clean C(标准 C 和 C++ 间共通的子集) 实现成一个库。作为一门扩展式语言,Lua 没有 “main“ 程序的概念: 它只能 嵌入 一个宿主程序中
阅读本文

【开发板教程目录分享】4412开发板实战教程纸制版

内容是4412 ヽ(ˋ▽ˊ)ノ~ iTOP-4412开发板教程前言 8背景知识 8本书的内容 8本书使用的扩展资料 9第一章  概述 101.1 嵌入式系统 101.1.1 嵌入式系统的定义 101.1.2 嵌入式系统的应用范围 101.1.3 嵌入式系统的特点 121.2 嵌入式操作系统 121.2.1 操作系统 121.2.2 嵌入式操作系统 131.3 嵌入式学习方法 131.3.1 框架学
阅读本文

手把手教你从零实现Linux misc设备驱动二(基于友善之臂4412开发板)

上一节,我教大家实现了一个最简单的MISC设备驱动,那么这节,我们将用一个实例来驱动蜂鸣器,这里为了方便,我就不再写应用程序进行测试,直接在驱动里调用open函数,这个程序是在Android系统里跑起来,后面我会教大家如何在Android下写应用测试程序。我们参考以前写的蜂鸣器驱动程序,将它移植到我们这个程序里,让它成为一个MISC设备。参考以前写的文章:接下来,看看代码:#include <li
阅读本文

嵌入式图形界面ugfx源码工程文件分析

1 ugfx源码工程文件分析 版本依据 version 2.5 1.1 源码文件总览 文件夹类: /3rdparty /boards /demos /docs /drivers /src /tools 文本类: Doxygenfile ffconf.h gfx.h gfx.mk gfxconf.example.h license mf_bwfont.h mf_rlefont.h mf_sca
阅读本文

手把手教你从零实现Linux misc设备驱动一(基于友善之臂4412开发板)

关于如何来写一个misc设备,在前面有篇文章已经介绍了大致的流程,现在就让我们来实现一个最简单的misc设备驱动。关于前面的字符设备有以下四篇文章,可以做参考:为什么要学习misc设备的编程?因为,如果我们 每个驱动设备都要像最初那样子去写一个字符设备驱动一样,要分配主设备号,次设备号,实现对应的文件操作函数等等的步骤,未免就有点多了,而且也不好记住它,为此,Linux内核提供了一系列偷懒的技巧,
阅读本文