- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 嵌入式软件开发培训笔记——Linux下SQLite3数据库编程
1、基本概念 数据库&数据库管理系统(DBMS) 关系型DBMS和SQL 通用型DBMS&嵌入式DBMS2、SQLite 简介 命令行操作 库函数编程操作3、数据库基本概念 1)数据 能够输入计算机并能被计算机程序识别和处理的信息集合。 2)数据库 数据库是在数据库管理系统管
2015-05-31 03:36:41 1079
原创 嵌入式软件开发培训笔记——linux进程、线程及进程间通信
进 程一、进程基础 1、 进程与程序区别:1)存放位置 2)动态与静态 3)程序只能有一个,但进程可以有多个 id 为1的进程是init相关 2、进程类型:交互进程、批处理进程、守护进程 进程运行状态:运行态、等待态、停止态、死亡态 其中等待态,不可中断指的是不可信号中断,中断分硬中断、软中断及信号中断。
2015-05-31 03:06:28 1045
原创 嵌入式软件开发培训笔记——Linux网络编程及I/O模型
一、基础知识 1、网络体系结构(协议模型) 协议模型的特点 OSI和TCP/IP协议模型 2、TCP/IP协议模型 分层介绍以及各层提供的主要功能 每一层的典型协议 3、TCP/IP的通信模型 数据的打包和解包 数据在网络节点之间的流动 4、TCP和U
2015-05-31 02:39:31 800
原创 嵌入式软件开发培训笔记——linux标准I/O库
一、文件与目录 1、文件概念:一组相关数据的有序集合 2、文件按类型分类:常规文件(ASCII码文件、二进制的文件)、目录、字符设备、块设备、有名管道、套接口、符号链接 3、获取文件/目录的属性信息:stat()/fstat()/lstat()二、标准I/O 1、介绍 除了UNIX,在其他很多OS上也都实现了标准I/O库
2015-05-31 02:11:43 799
原创 嵌入式软件开发培训笔记——基于S5PC100的课程设计
1、温度、ADC、开关量数据采集与报警处理,功能如下2、嵌入式系统硬件基本构成3、软件系统 1)、采集温度、模拟电压以及按键开关量(门禁) get_temperture()温度 get_adc()模拟量 get_di()开关量 2)、定时(间隔2秒)上报数据 定时中断,每2
2015-05-31 00:43:32 1097
原创 嵌入式软件开发培训笔记——S5PC100接口开发(GPIO输入/输出、定时器、中断、UART、ADC、IIC)
一、硬件:基于Cortex-A8核的samsung s5pc100二、程序调试环境: 1、USB串口转换工具驱动安装 2、超级终端工具设置 3、启动内置的BIOS (即u-boot已经烧写好的s5pc100板子) 4、下载程序 超级终端工具中输入loadb命令 选择kermit协议,程序被下载到内存的20008000位
2015-05-31 00:11:15 2211
原创 嵌入式软件开发培训笔记——ARM体系结构、A8处理器内核及汇编指令集
一、ARM ARM是处理器,但不是实实在的硬件。它是一种叫作“核”的东西。 1、主要设计ARM架构的RISC处理器 2、ARM公司不生产芯片,只是授权内核给生产和销售半导体的合作伙伴,另外也提供基于ARM架构的开发设计技术。 二、SOC概念 System on Chip,简称Soc,也即片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系
2015-05-31 00:06:52 1952
原创 嵌入式软件开发培训笔记——s5pc100裸机编程预备知识
一、半导体器件 1、二极管、三极管、MOS管的开关特性(在数字电路中) 2、与、或、非门运算二、计算机系统组成原理部分 1、组成:输入/输出、运算、控制、存储以及总线结构 2、算术运算单元 基本功能:ALU、寄存器、状态指示寄存器PSR、外部数据访问三、硬件设计介绍 1、原理图绘制软件protel99se、
2015-05-31 00:04:43 641
原创 嵌入式软件开发培训笔记——嵌入式linux内核与文件系统移植与分析
一、内核的移植配置内核版本linux2.6.351、基本内核配置 1). 主Makefile ARCH = arm CROSS_COMPILE = arm-cortex_a8-linux-gnueabi- 2). make s5pc100_defconfig 将s5pc100_defc
2015-05-31 00:01:04 1144
原创 嵌入式软件开发培训笔记——boot原理与u-boot 基于Cortex_A8核的S5PC100芯片
一、boot原理1、解决系统启动 (参考s5pc100手册 ---> 2.1节 irom code) The boot loader is divided into the BL0(1st boot loader) and the BL1(2nd boot loader). • BL0 which is placed in iROM loads BL1 from
2015-05-30 23:53:55 1158
原创 嵌入式软件开发培训笔记——ARM架构Linux系统下交叉编译环境搭建、NFS、TFTP服务配置及Nandflash的读写
bootloader原理和开发——>kernel构建——>文件系统/根文件系统(filesystem/rootfs)APP一、配置交叉编译环境(可参考嵌入式Linux移植与驱动开发cortexa8中交叉工具链的安装) 1、准备文件arm-cortex_a8-linux-gnueabi.tar.bz2 2、解压以上文件到当前用户目录下,
2015-05-30 17:57:35 1898
原创 嵌入式软件开发培训笔记——u-boot-2011.09的移植
这里使用的是专门为三星平台编写的u-boot-samsung.tgz,目标板芯片为S5PC100(基于Cortex_a8)1、下载源码地址:ftp://ftp.denx.de/pub/u-boot/2、解压源码$ tar xvf u-boot-samsung.tgz$ cd u-boot-samsung3、添加fsc100平台信息由于smdkc100是基于S5PC100
2015-05-24 13:07:04 1189
原创 嵌入式软件开发培训笔记——交叉工具链的安装arm-cortex_a8-linux-gnueabi-
1、如果要自己编译工具链,需要先下载源码crosstools-ng下载地址为:http://ymorin.is-a-geek.org/download/crosstool-ng/另外,对每个版本都有相应的补丁,尽量把这些补丁打上补丁下载地址为:http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/2、在使用之前
2015-05-23 20:13:25 1627
原创 嵌入式软件开发培训笔记——java第六天(IO、网络编程、反射与JNI)
一、Java IO1、java中流的分类 按照流向分为输入流和输出流 基类:InputStream OutputStream Reader Writer 按照编码的方式分为字节流和字符流 字节流就是二进制数据流 以Input/Output为后缀 字符流
2015-04-30 18:12:49 991
原创 嵌入式软件开发培训笔记——java第五天(API——math/string/集合/日期时间以及java线程)
目录 掌握命令行参数的使用 掌握Math类中常用的方法 掌握String/StringBuffer/StringBuilder的用法 掌握几种常用集合类的用法 掌握日期和时间处理1、命令行参数 Java中命令行参数第一个参数为args[0],这跟C语言不同 参数设置两种方法: 1)、Run Conf
2015-04-30 18:03:03 698
原创 嵌入式软件开发培训笔记——java第四天(高级类特性——接口/多态/抽象类/内部类以及异常处理)
一、高级类特性1、static关键字(访问时,“类名.静态属性”,“类名.静态方法”) 静态变量 静态方法 静态内部类 static不可用于修饰构造器,因为构造器是属于对象本身的。而static修饰的成员只属于类本身。 static成员产生的时机是在类加载的时候。这个时候本类的对象还没有产生。 因此,static方法只能访
2015-04-30 17:50:15 661
原创 嵌入式软件开发培训笔记——Java第三天(方法重载、对象的构造与初始化过程分析、封装等)
一、掌握方法重载(Overload) 同一个类中方法名相同时,称为方法的重载(Overload) 特点:1、参数列表不同 1)参数类型不同 2)参数的个数不同 2、不考察返回值类型 例: package reload; public
2015-04-30 17:42:07 717
原创 嵌入式软件开发培训笔记——Java第二天(运算符、程序结构、数组与继承)
一、运算符 分割符:,、;、[]、() 算术运算符:+、-、*、/、%、++、-- 关系运算符:>、=、 布尔逻辑运算符:!、&、|、^、&&、|| 位运算符:&、|、^、~、>>、>> 赋值运算符:= 扩展赋值运算符:+=、-=、*=、/= 字符串连接运算符:+ 造型操作符:() 其中位运算符^:
2015-04-30 17:30:12 564
原创 嵌入式软件开发培训笔记——Java第一天(开发环境搭建、入门引导)
一、开发环境搭建 1、安装JDK(1.6版本及以上) 2、配置环境变量PATH 3、源码--->第一个java程序helloworld.java 4、编译java源文件--->javac 文件名 5、执行java源文件--->java 文件名 HelloWorld.java文件 public class Hell
2015-04-30 17:25:20 941
原创 嵌入式软件开发培训笔记——C高级 数据结构与算法基础
一)、数据结构1、逻辑结构(1)线性结构:线性表、栈、队列(2)非线性结构:树、图2、基本逻辑运算:最基本的逻辑操作,如:查询、插入、删除、修改等3、存储结构(1)顺序存储(2)链接存储(3)索引存储(4)散列存储二)、算法(根据以下分类进行分析)1、算法的特性:有穷性(算法执行的步骤或规则是有限的)、确定性(每个计算步骤无二义性)、可行性(每个计算步骤能够
2015-04-16 13:03:08 1322
原创 嵌入式软件开发培训笔记——C高级 预处理&类型重定义
(1)#include(2)#define(3)#if,#else,#elif,#endif理解c语言中if,else,elseif,但不要忘记在条件编译时要加上endif(4)#ifdef,#ifndef,#undef#ifdef 若宏定义过#ifndef 若没有宏定义过#undef 取消宏定义(5)typ
2015-04-16 12:58:56 700
原创 嵌入式软件开发培训笔记——C高级 存储类、链接和内存管理
(1)概念:分配和释放内存的方式。(2)管理方法:1)静态内存管理方式 在程序中定义变量,在编译阶段为其分配内存空间,该内存空间的生命周期在程序运行过程中由系统帮助我们维护,不需要我们在代码里显式地释放。2)动态内存管理方式程序在运行过程中由代码负责来动态地管理内存,C语言中通过malloc()和free()库函数来显式地申请和释放。3)静态内存管理变量变量定义:
2015-04-16 12:49:32 750
原创 嵌入式软件开发培训笔记——C高级 结构体与共用体
(1)、结构体基本类型 int、double、char、float、short、long等等复合类型 数组、结构体指针类型空类型1)定义结构体,不会在内存内给分配空间struct s1 { char ch; int i; float
2015-04-16 12:40:11 987
原创 嵌入式软件开发培训笔记——C高级 指针和函数
1、函数指针2、指针函数Int *function(int a,char *b)函数返回值是一个指针Int *p; p = function(c,&d);附:递归在一个函体体内部再次调用该函数本身,这样的函数被称为递归函数gdb中用bt命令看函数栈
2015-04-16 12:38:47 670
原创 嵌入式软件开发培训笔记——C高级 指针和数组
a)一维数组和指针定义int a[10];int *p = a; b)二维数组和指针定义——按C教程说法以下为行指针定义,另有列指针定义法double a[2][3];double (*pa)[3];pa = a;c)三维数组和指针定义double a[2][3][4];double (*pa)[3][4];pa = a;补充:在gdb中也可
2015-04-16 12:33:13 693
原创 嵌入式软件开发培训笔记——C高级 指针
由计算机系统组成及内存地址介绍引题进入基础指针学习a)指针变量定义char *pname; //编译器从右往左进行识别,pname存放的是另一对象的首地址,并且另一对象的数据类型必须为char型指针变量初始化int *p = 0x12345678;b)指针变量赋值int *p;p = 0x12345678;c)空针NULLint *p
2015-04-16 12:19:36 759
原创 嵌入式软件开发培训笔记——C高级 开发环境
(1)GNU工具:a)编译工具——GCC、G++; b)调试工具——GDB;c)软件工程工具——make、makefile;d)其他工具——多个目标文件链接成可执行文件的链接器 e)GNU资源:www.gnu.org 、gcc.gnu.org 等(2)GCC全称GNU CC,符合ANSI C标准的编译系统,编译如C、C++、Object C、JAVA等;可在多种平
2015-04-16 12:15:00 783
原创 嵌入式软件开发培训笔记——Makefile编写
(1)make及makefile 概念和作用在大型的开发项目中,通常有几十到上百个的源文件,如果每次均手工键入gcc命令进行编译的话,则会非常不方便。利用make工具来自动完成编译工作,包括:a)如果仅修改了某几个源文件,则只重新编译这几个源文件;b)如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。make工具通过makefile文件来实现自动化编译。Make工具不仅应用于编程
2015-04-16 11:58:54 1117
原创 嵌入式软件开发培训笔记——shell编程
(1)Shell编程也称为shell脚本,是一种编译性语言,其本质是shell命令的有序集合。(2)Shell编程的基本过程分三步:a)新建一个shell文件——touch file1.sh;文件后缀建议写为.sh类型;b)改变file1.sh文件的权限——chmod 777 file1.sh 设为可读可写可执行;c)直接在终端上执行file1.sh文件。(3)shell变量
2015-04-16 11:51:32 604
原创 嵌入式软件开发培训笔记——网络配置(详细NFS及TFTP配置)
通过命令行的方式及友好的图形界面两种方法进行网络配置。(1)ifconfig命令查询网络设备信息,临时配置静态IP(2)dhclient配置动态IP(执行后使用/etc/init.d/networking restart重启网络)在Interfaces配置文件中修改IP:配置文件为/etc/network/interfaces(其中用#注释部分为设置静态IP,注释部分以上语句意为自动分
2015-04-16 11:40:44 614
原创 嵌入式软件开发培训笔记——linux文件系统
文件系统用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。(1)文件系统类型(理解)磁盘文件系统、网络文件系统、专有/虚拟文件系统;文件格式:ext4(2)linux与windows文件系统结构的区别:windows下,目录结构属于分区;linux下,分区属于目录结构;linux下文件名严格区分大小写,文件命名不依赖后缀名,window则反之;(3)文件类型:使用ls
2015-04-16 11:35:22 641
原创 嵌入式软件开发培训笔记——shell基本命令
(1)关于shell,linux中的shell可这样认为——是linux内核的一个外层保护工具,并负责完成用户与内核之间的交互;明确几个概念:命令、shell和shell脚本Shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,从而实现用户与内核之间的交互,同时shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。当需要重复执行若干命令,可以将这些命令集合起来,
2015-04-16 11:26:12 717
原创 嵌入式软件开发培训笔记——linux操作系统扫盲
Linux起源是AT&T公司贝尔实验和MIT合作开发的UNIX;由芬兰人linus最早开发。1、linux体系结构a)Linux内核内核是linux系统的最底层,提供了系统的核心功能并允许进程以一种有序的方式访问硬件;用于控制进程、输入、输出设备、文件系统操作、管理内存。b)shellshell是一个命令行解释器,它使得用户能够与操作系统进行交互。c)文件系
2015-04-16 11:10:20 785
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人