![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
归零
无
展开
-
原理图学习笔记一
画个草图也挺过瘾2013-02-17 22:24:00 · 99 阅读 · 0 评论 -
基础编程学习笔记二(makefile工程管理)
makefile工程管理 makefile文件描述了整个工程的编译,连接等规则 规则 如何生成一个或多个目标文件 targets(目标):prerequisites(依赖) command(路径) 示例代码: test34:test34.o test33.o test31.o (tab) gcc$~ -o $@ 第一条语句为最终目标 make -f 指定makefile文件名 伪目标 .PHO...2013-01-25 20:11:00 · 88 阅读 · 0 评论 -
基础编程学习笔记一(程序的编译与调试)
程序的编译与调试 gcc (gnu c compiler) gcc所支持的后缀名 .c c原始程序 .C/.cc/.cxx c++原始程序 .i 已经预处理的c原始程序 .ii 已经预处理的c++原始程序 .s/.S 汇编语言原始程序 .h 预处理文件 .o 目标文件 .a/.so 编译后的库文件 gcc的编译流程 预处理 编译 汇编 链接 gcc 的总体选项 -c 只编译不链接,生成目标文件.o...2013-01-25 19:40:00 · 82 阅读 · 0 评论 -
嵌入式linux应用开发完全手册学习笔记三(windows、linux下工具使用)
windows\linux环境下相关工具、命令的使用 windows环境下的工具 source insight代码阅读编辑工具,发现本人桌面上居然有3.5版本,这可能是在合肥MTK培 训时装的。 使用source insight3.5以内核源码为例 1 创建一个source insight工程 options-->document options-->document type选择c ...2013-01-21 20:45:00 · 100 阅读 · 0 评论 -
嵌入式linux应用开发完全手册学习笔记二(嵌入式linux开发环境搭建)
嵌入式linux开发环境搭建 硬件环境构建 主机与目标板结合的交叉开发模式在主机编辑、编译软件,然后在目标板上运行和验证程序 目标板s3c6410(下周入手) 进行嵌入式linux开发时一般步骤1 在主机上编译bootloader通过jtag烧入开发板 通常选用具有串口传输、网络传输、烧写flash功能的bootloader2 在主机上编译嵌入...2013-01-16 20:55:00 · 123 阅读 · 0 评论 -
嵌入式linux应用开发完全手册学习笔记一(嵌入式开发概述)
嵌入式经历了 单片机(SCM)single chip microcomputer 微控制器(MCU)micro controller unit 系统级芯片(SOC) system on a chip 预定制模块ip(intellectual) arm(advanced risc machine)处理器介绍 嵌入式处理器种类, arm mips ppc 应用领域 无级通信、消费电子、成像设备 海量存...2013-01-14 20:01:00 · 233 阅读 · 0 评论 -
shell编程学习笔记三
case 语句语句格式case "$variable" in 模式1) 命令1 ... ;; 模式2) 命令2 ... ;;esac模式部分可使用通配符* 任意字符? 任意单个字符[..] 类或范围中任意字符简单的case语句示例代码如下:#!/bin/sh#test12#简单case语句echo -n "ente...2013-01-03 21:03:00 · 83 阅读 · 0 评论 -
shell编程学习笔记二
流程控制退出状态有四种退出状态最后命令退出状态$?控制次序命令$$ ||处理shell脚步本退出或shell退出及相就退出状态或函数返回码退出当前进程exit nn为数字流控制if then else格式为:if 条件1then 命令1elif 条件2then 命令2else 命令3fi简单的if 语句if条件 t...2013-01-03 18:26:00 · 86 阅读 · 0 评论 -
shell编程学习笔记一
linux角本编程文件的安全与权限[root@localhost ~]# ls -l总计 48 #所有文件所占空间-rw------- 1 root root 913 12-26 13:50 anaconda-ks.cfg-rw-r--r-- 1 root root 26586 12-26 13:50 install.log-rw-r--r-- 1 root root 3...2012-12-31 21:57:00 · 60 阅读 · 0 评论 -
文件I/O编程学习笔记一(基于linux系统的文件编程)
文件I/O编程 1 基于linux系统的文件编程 创建文件 int creat(const char * filename,mode_t mode) filename:要创建的文件名 mode:创建模式 常见模式: S_IRUSR 可读 4 S_IWUSR 可写 2 S_IXUSR 可执行 1 S_IRWXU 可读、写、执行 示例代码如下: [retacn@localhost tmp]$ vi ...2013-01-26 19:55:00 · 90 阅读 · 0 评论 -
文件I/O编程学习笔记二(c语言库函数访问文件)
c语言库函数访问文件 库函数是独立于操作系统平台,可移植性强 文件的创建和打开 FILE *fopen(const char *filename,const char *mode) filename:文件名 mode:打开模式 常见的打开方式: r,rb 只读 w,wb 只写,如果文件不存在就创建 a,ab 追加,如果文件不存在就创建 r+,r+b,rb+ 读写方式打开 w+,w+b,wh+ 读写...2013-01-27 17:29:00 · 107 阅读 · 0 评论 -
多线程学习笔记
多线程程序设计 头文件:pthread.h 连接时需要用到的库文件:libpthread.a 创建线程 函数原型 #include <pthread.h> int pthread_creat(pthread_t *tidp,const pthread_attr_t *attr,void *(*start_rtn)(void),void *arg) tidp:线程id attr:线程属性...2013-02-16 21:42:00 · 77 阅读 · 0 评论 -
进程间通信学习笔记五(信号量)
信号量 又名信号灯,保护临界资源,进程可以根据它判断是否能够访问某些共享资源 除了用于访问控制外,还用于进程同步 分类: 二值信号量 值只能取0或1,有点像互斥锁 计数信号量 信号量的值可以取任意非负值 创建/打开 #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> int semge...2013-02-16 21:41:00 · 59 阅读 · 0 评论 -
进程间通信学习笔记三(共享内存通信)
共享内存通信 被多个进程共享的一部分物理内存,是进程间共享数据的一种最快的方法 一个进程向共享内存区域写入数据,共享这个内存区域的所有进程都可以立刻看到 其中的内容 实现共享内存分为两个步骤: 1 创建共享内存,使用shmget函数 函数原型:int shmget(key_t key,int size,int shmflg)key:标识共享内存的键值 0 如果shmflg设置为IPC_PRIVAT...2013-02-16 21:40:00 · 75 阅读 · 0 评论 -
进程间通信学习笔记四(消息队列)
消息队列 信号能够传送的信息量有限 管道只能传送无格式的字节流 消息队列就是一个消息链表,消息可以看作是一个记录,具有特定的格式 消息队列的分类: posix(可移植的操作系统接口)消息队列 系统v消息队列:是随内核持续的,只有在内核重起或者人工删除时,该消息队列才会被删除 键值 每个消息队列都在系统范围内对应唯一的键值,也是获得消息队列描述字的方法 返回文件名对应的键值 #include <...2013-02-16 21:40:00 · 65 阅读 · 0 评论 -
进程间通信学习笔记二(信号通信)
信号通信 用户按某些键时,产生信号 硬件异常产生信号 进程用kill函数将信号发送给另一个进程 可以用kill函数将信号发送给其他进程 信号的类型 1 sighup 从终端上发出的结束信号 2 sigint 来自键盘的中断信号(ctrl-c) 3 sigquit 4 sigill 5 sigtrap 6 sigiot 7 sigbus 8 sigfpe 9 sigkill 结束接收信号的进程 10...2013-02-16 21:39:00 · 80 阅读 · 0 评论 -
进程间通信学习笔记一(管道通信)
进程间通信(ipc) 应用场景: 数据传输 资源共享 通知事件 进程控制 system v at&t system v posix(portable operating system interface)可移植操作系统接口 常用的进程间通信的方式: 管道(pipe)和有名管道(fifo) 信号(signal) 消息队列 共享内存 信号量 套接字(socket) 管道通信 半双工的,数据只能...2013-02-01 20:08:00 · 124 阅读 · 0 评论 -
进程控制学习笔记一
进程控制 进程的定义: 进程是一个程序的一次执行的过程,同时也是资源分配的最小单元 进程的特点:动态性、并发性、独立性、异步性 进程的状态: 1 就绪、阻塞、执行 2 TASK_RUNNING(运行) TASK_INTERRUPTIBLE(可中断) TASK_UNINTERRUPTIBLE(不可中断) TASK_ZOMBIE(僵死) TASK_STOPPED(停止) 进程id 进程id(pid) ...2013-01-28 21:10:00 · 58 阅读 · 0 评论 -
文件I/O编程学习笔记三(linux 时间编程)
linux 时间编程 时间类型 coordinated universal time世界标准时间 calendar time日历时间 时间获取 #include <time.h> time_t time(time_t *tloc) 从1970年1月1日0时到现在经历的秒数 时间转换 日历转化为格林威治标准时间 struct tm *gmtime(const time_t *timep)...2013-01-27 17:56:00 · 69 阅读 · 0 评论 -
ssh服务配置
ssh检查是否安装[root@localhost Server]# rpm -qa | grep sshopenssh-4.3p2-41.el5openssh-server-4.3p2-41.el5openssh-clients-4.3p2-41.el5openssh-askpass-4.3p2-41.el5/*修改配置文件*/rpm -ql openssh-ser...2012-12-31 13:07:00 · 81 阅读 · 0 评论 -
tftp服务器安装与配置
tftp服务器trivial file transfer protocol 简单文件传输协议tftp有三种传输模式:netASCII 8位ASSCII八位组模式邮件模式检查是否安装[root@localhost Server]# rpm -qa | grep tftp-servertftp-server-0.49-2安装挂载安装文件镜像[root@loc...2012-12-31 12:59:00 · 170 阅读 · 0 评论 -
nfs服务器安装配置
nfs服务器 netwrok file system 网络文件系统 实现多种网络间共享和装配运程文件查看是不安装了nfs-utils安装包方式一:[root@localhost ~]# rpm -q nfs-utilsnfs-utils-1.0.9-44.el5方式二:[root@localhost ~]# rpm -qa | grep nfsnfs-utils-l...2012-12-31 12:29:00 · 88 阅读 · 0 评论 -
系统时钟学习笔记
12m晶振----->pll------>cpu Mux多路选择器Div分频器示例代码如下:汇编实现.globlclock_init clock_init: /*1.设置LOCK_TIME*/ldrr0,=0x7E00F000/*APLL_LOCK*/ldrr1,=0x0000FFFFstrr1,[r0] strr1,[r0...2013-05-04 21:59:00 · 131 阅读 · 0 评论 -
GPIO学习笔记
用汇编点亮一个led1看原理图GPK4=0,led亮GPK4=1,led灭2怎么让GPK4输出高低电平(看芯片手册,操作寄存器实现)配置功能:输入/输出/其他设置其输出高/低电平3查看芯片手册GPK4[19:16]0000=Input 0001=Output0010=HostI/FDATA[4] 0011=HSITXREADY0100=Reserved 01...2013-04-14 19:50:00 · 139 阅读 · 0 评论 -
字符设备驱动程序学习笔记四
竟争与互斥 程序调试 1 打印调试信息 printk 定义全局打印 示例代码如下: #ifdef PDEBUG #define PLOG(fmt,args...) printk(KERN_DEBUG "scull:",fmt,##args) #else /*do nothing*/ #define PLOG(fmt,args...) #endif 在makefile中定义PDEBUG的值 示例代码...2013-04-05 11:12:00 · 85 阅读 · 0 评论 -
字符设备驱动程序学习笔记三
memdev.h文件示例代码如下: #ifndef _MEMDEV_H #define _MEMDEV_H //采用静态分配设备号 #ifndef MEMDEV_MAJOR #define MEMDEV_MAJOR 260 #endif #ifndef MEMDEV_NR_DEVS #define MEMDEV_NR_DEVS 2 #endif #ifndef MEMEV_SIZE #defin...2013-04-04 14:03:00 · 66 阅读 · 0 评论 -
字符设备驱动程序学习笔记二
字符驱动程序 1 设备号 字符设备通过字符设备文件来存取 ls -l 如果输出的第一列是c标识,说明该文件是字符设备文件 设备文件项中的两个数分别为 主设备号/次设备号 设备文件与设备驱动通过主设备号建立联系 次设备号用来分辩操作的哪个设备 dev_t 用来描述设备号 在linux/types.h中声明,示例代码如下:typedef __u32 __kernel_dev_t;typedef __k...2013-04-04 10:29:00 · 93 阅读 · 0 评论 -
字符设备驱动程序学习笔记一
linux 驱动程序 字符设备驱动程序 网络接口驱动程序 块设备驱动 字符设备 按字节来访问的设备 字符设备驱动用来驱动字符设备 通常实现open close read write 块设备 unix系统一次传输一个或多个512字节 linux允许块设备传送任意数目的字节 字符设备驱动和块设备驱动哪个可以随机访问 网络接口 通常是一个硬件设备(etho),也可以是一个;软件设备如回环接口(lo) 驱...2013-04-01 21:55:00 · 101 阅读 · 0 评论 -
linux进程管理学习笔记
linux 进程管理 1 linux进程控制 进程的四个要素: 有一段程序供其执行 有专用的内核空间椎栈 内核中有一个tash_struct数据结构 有独立的用户空间 task_struct中包含了描述进程和线程的信息 pid_t pid 进程号 最大10亿 volatile long state 进程状态 TASK_RUNNING 准备就绪 TASK_INTERRUPTIBLE 处于等待中 等待...2013-03-28 20:57:00 · 121 阅读 · 0 评论 -
linux内存管理学习笔记
1 linux内存管理 地址类型 物理地址 出现在cpu地址总线上的寻址物理内存的地址信号,是地址变换的最终结果 线性地址(虚拟地址)在32位cpu架构下,可以表示4g的地址空间,用16进制表示就是 0x00000000到0xffffffff 逻辑地址程序代码编译后,出现在汇编程序中的地址 地址转换 cpu将一个逻辑地址转换为物理地址: 利用段式内存管理单元,将逻辑地址转换成线性地址 再利用页...2013-03-12 20:50:00 · 65 阅读 · 0 评论 -
UART学习笔记
串口(UART)DIV_VAL=(PCLK/(bpsx16))−135=115200/66.5/16-1 查看芯片手册:GPACON0x7F008000R/WPortAConfigurationRegister0x0000 GPA0[3:0]0000=Input0001=Output0010=UARTRXD[0]0011=Reserved0100=...2013-05-04 22:00:00 · 186 阅读 · 0 评论 -
链接地址学习笔记
链接地址启动过程 示例代码如下: start.S文件.globl_start_start:/*硬件相关设置*/ldrr0,=0x70000000orrr0,r0,#0x13mcrp15,0,r0,c15,c2,4/*关看门狗*/ bltest/*位置无关*/ldrpc,=test/*位置相关*/ ldrr0,=0x7E...2013-05-05 12:40:00 · 139 阅读 · 0 评论 -
samba服务器的安装配置
samba服务器实现文件共享和打印服务共享,类似于windows 的网上邻居组件smbd (smb服务器) 是samba的守护进程,侦听网络文件和打印服务请求, 负责建立对话、验证用户身份、提供文件系统和打印机的访问机制 安装在usr/sbin下nmbd (netBIOS名字服务器) samba的守护进程,用来实现 net brower 的功能smbcl...2012-12-31 11:57:00 · 84 阅读 · 0 评论 -
linux常用命令
linux常用命令安中文显示包(server目录) 1 挂载dvd 光驱 cd /mnt mkdir cdrom mount /dev/cdrom /mnt/cdrom 2 rpm -ivh *chinese*.rpm --nodeps --force安装中文输入法server目录下的 scim-libs-1.4.4-41.el5.i386.rpm ...2012-12-31 10:18:00 · 103 阅读 · 0 评论 -
uboot start.S文件分析
U-boot第一个开始文件arch\arm\cpu\arm1176\start.Sstart.S文件分析:/**armboot-StartupCodeforARM1176CPU-core**Copyright(c)2007 SamsungElectronics**Copyright(C)2008*GuennadiLiakhovetki,DENXSoftwareEn...2013-06-03 22:18:00 · 159 阅读 · 0 评论 -
u-boot Makefile 文件分析
Makefile文件分析 ##(C)Copyright2000-2010#WolfgangDenk,DENXSoftwareEngineering,wd@denx.de.##SeefileCREDITSforlistofpeoplewhocontributedtothis#project.##Thisprogramisfreesoftware;youcanre...2013-06-01 21:44:00 · 257 阅读 · 0 评论 -
u-boot mkconfig文件分析
Mkconfig文件分析 #!/bin/sh-e #Scripttocreateheaderfilesandlinkstoconfigure#U-Bootforaspecificboard.##Parameters:TargetArchitectureCPUBoard[VENDOR][SOC]#@$(MKCONFIG)mini6410armarm117...2013-05-31 21:29:00 · 111 阅读 · 0 评论 -
openJTAG学习笔记一
安装软件 光盘Windows\install目录下的 01.OpenOCD with GUI setup.exe 02.yagarto-bu-2.18_gcc-4.2.2-c-c++_nl-1.16.0_gi-6.8.50_20080408.exe 03.yagarto-tools-20070303-setup.exe jre7 使用eclipse调试led程序 1 导入光盘示例放入D:\c_po...2013-05-22 21:45:00 · 284 阅读 · 0 评论 -
nand flash学习笔记一
Nandflash 原理图上有data0-data7共8个引角容量为256M*8bit,所以地址位应该有28位,原理图上只有data0-data7,所以需要发出多次地址信号1命令、地址、数据复用2地址多次发出 Nandflash与内存不同,不能直接读写,要先发出命令,再发出地址,再读写数据CLE为高电平data0-data7传输的是命令ALE为高电平data0...2013-05-13 21:05:00 · 350 阅读 · 0 评论 -
DDR学习笔记
DDR15条地址线32k128M*2(20)=2(27) 查看6410芯片手册;5.4.3DDR/MOBILEDDRSDRAMINITIALIZATIONSEQUENCE•Programmem_cmdindirect_cmdto‘2’b10’,whichmakesDRAMControllerissue‘NOP’memorycommand.•Progra...2013-05-11 14:19:00 · 209 阅读 · 0 评论