- 博客(17)
- 收藏
- 关注
原创 startup_LPC11xx.s启动代码分析
一:启动代码简介启动代码是芯片复位后进入C语言的main()函数前执行的一段代码。主要是为运行C语言程序提供基本的运行环境,初始化存储系统等。为了能够进行系统初始化,采用一个汇编文件作为启动代码是常见的做法。二:启动代码的作用1.初始化异常向量表2.初始化存储器系统3.初始化堆栈程序使用编译器分配的空间作为堆栈,而不是按通常的做法爸堆栈分配到RAM的顶端。这样做
2012-05-23 16:20:48 2298
原创 ARM汇编伪指令介绍
参考《ARM体系结构与编程》第三、四章。1,伪指令介绍伪指令不属于指令集。汇编在第一次扫描时只扫描了指令,而将伪指令中的东西作为“动态内容”作了标记而已。所以在第一次扫描所得到的清单中是没有看到它占用内存的。 所以不会计算其中的数据的。而第二次扫描才能得到。指令集是属于机器CPU的,一个类型CPU就有这样一个指令集。而伪指令则是由汇编软件提供的,比如ARM汇编器中提供了EQU的伪指令,那么
2012-05-23 11:52:59 2087
原创 ARM汇编伪指令介绍
参考《ARM体系结构与编程》第三、四章。1,伪指令介绍 伪指令不属于指令集。汇编在第一次扫描时只扫描了指令,而将伪指令中的东西作为“动态内容”作了标记而已。所以在第一次扫描所得到的清单中是没有看到它占用内存的。 所以不会计算其中的数据的。而第二次扫描才能得到。 指令集是属于机器CPU的,一个类型CPU就有这样一个指令集。而伪指令则是由汇编软件提供的,比如
2012-05-23 11:16:23 1465
原创 驱动开发环境搭建与驱动开发流程
一,开发环境1,硬件:2410开发板,h-jtag,PC虚拟机ubuntu2,配置上位机a,安装ufsb,配置ufssudo vi/etc/exports在下面添加文件系统所在的路径,如:/opt/filesystem*(subtree_check,rw,no_root_squash,async)c,重启服务sudo /etc/init.d/nfs-kern
2012-05-01 17:41:11 716
原创 VIM编辑C程序的常用技巧
在insert模式下:1,Ctrl + h = Backspace2,Ctrl + c = Esc3,Ctrl + j = Enter4,o和O分别在下、上插入行并进入编辑模式5,n>> 将连续n行向右缩进,6,% 匹配移动光标7,yE 复制字符串(空格隔开的)7,自定义insert模式下的光标左右移动快捷键:"默认的Ctrl+h本来是Backspace,改
2012-02-29 22:50:46 447
转载 STM32 启动文件选择
startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s 大容量的STM32F100xxstartup_stm32f10x_ld.s 小容量的STM32F101xx
2012-02-26 00:24:15 661
转载 STM32F10X_XX宏定义的选择
//=====================================================================//TITLE:// STM32F10X_XX宏定义的选择//AUTHOR:// norains//DATE:// Tuesday 12-October-2010//Environment:// KE
2012-02-26 00:09:33 391
转载 STM32固件库详解
1. 标准外设库的文件结构在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。STM32F10XXX的标准外设库经历众多的更新目前已经更新到最新的3.5版本,开发环境中自带的标准外设库为2.0.3版本,本书中以比较稳定而且较新的V3.4版本为基础介绍标准外设库的结构。可以从ST的官
2012-02-26 00:06:58 845
转载 Linux内核代码风格
目录Linux内核代码风格 第一章:缩进 第二章:把长的行和字符串打散 第三章:大括号和空格的放置 第四章:命名 第五章:Typedef 第六章:函数 第七章:集中的函数退出途径 第八章:注释 第九章:你已经把事情弄糟了 第十章:Kconfig配置文件 第十一章:数据结构 第十二章:宏,枚举
2012-02-25 00:31:08 258
原创 makefile简单使用
简介makefile是工程管理器,可以管理较多的文件,也是一个自动编译管理器,可以减少编译的工作量。通过读取makefile文件来实现。makefile文件有自己的一套编写规则,详细编写方法见《GNU make中文手册》。makefile格式:target : dependency_filescommand碰到TAB make才认为是命令例子:hello.o : h
2012-02-24 00:48:00 328
原创 gcc编译器、gdb调试器常用命令
函数编译的四个阶段:1> 预处理。去掉注释、包含文件、宏展开、条件编译…2> 编译。3> 汇编。这前三个阶段称为翻译阶段。4> 链接gcc常用命令参数-E 停在预处理阶段-S 停在编译阶段-C 停在汇编阶段-O 编译优化-o 确定输出文件的名称-g 产生gdb调试的符号
2012-02-24 00:31:06 478
原创 arm嵌入式linux开发环境搭建
一, 准备工作1, 在ubuntu里安装并配置好tftp服务、nfs服务,注意重启服务,并用ps –aux查询确认服务运行。$sudo /etc/init.d/openbsd-inetd restart$sudo /etc/init.d/xinetd restart$sudo /etc/init.d/portmap restart$sudo /etc/init.d/nfs-kerne
2012-02-24 00:24:26 726
原创 shell文件操作相关命令
1, 在/opt目录 下新建一个文件夹,名字叫new_folder,并且把/etc/init.d中的所有文件拷贝到这个文件夹中。sudo cp –r /etc/init.d /opt/new_folder 2, 把new_foleder分别压缩为new_folder.tar.gz和new_foleder.tar.bz2文件sudo tar –jcvf new_folder.tar.
2012-02-24 00:17:53 382
原创 常用shell命令
常用 shell命令重新安装包apt-get--reinstall install packeg按提示信息查找包apt-cachesearch安装manapt-getinstall manpages manpages-posix manpages-posix-dev使用manman 3posix XXXclear 清屏,crtl+l也行ls –l 列详细信息
2012-02-24 00:14:16 321
原创 linux虚拟机相关配置
配置ip虚拟机中的菜单栏中:VM –》settings-》hardware必须确保Bridged:Connected...选中步骤1查看网络接口在终端中输入ifconfig查看网卡接口,会显示eth0,也可能会显示eth1,或者eth2,以此往下类推,此时我们需要eth0步骤2:修改网络接口配置sudo vi /etc/network/interfaces在
2012-02-23 23:57:16 355
原创 常用VIM命令
i 在当前光标前插入; I 在光标所在行的最前面插入; a 在当前光标后插入; A 从光标所在行最后面开始插入; hjkl 上下左右移动; b 移动到当前字的开始; e 移动到当前字的结尾; w 向前移动一个字; 0 移动到行首; $ 移动到行尾; End 移动
2012-02-23 23:38:09 334
原创 shell命令行输入不用Enter键和Backspace键的方法
C-r 查找历史执行命令C-p 前一条指令C-n 后一条指令C-c 终止已经运行的命令(针对还没有运行完的命令和脚本,实际为向相关进程发送中断信号)或者取消已经输入的命令C-o 执行当前行输入的命令,跟 enter 类似C-j 同上C-m同上C-l 清屏,clear 命令C-a 移动光标到行首C-e 移动光标到行尾C-t 交换光标前俩字符的位置C-h 往
2012-02-23 23:28:11 1516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人