记得好早以前为了建一个keil的工程折腾了好久,在这里写写基本的Keil工程创建方法,以防自己以后再忘记:
新建工程
保存工程
选择器件
在这边新建文件夹,然后就是添加程序代码到里面去了。其中一些文件跟文件夹的作用,可以去本人的另一篇转载的文章 http://www.cnblogs.com/Silent-Higher/archive/2013/02/22/2922068.html里面看。
在代码中基本要包含的头文件如下:
#include "stm32f10x.h" /* 如果要用ST的固件库,必须包含这个文件 */#include /* 因为用到了printf函数,所以必须包含这个文件 */
其中Flash是当前工程配置的一工程环境Option,
这个就是进行工程option配置的图标,其中一个工程可以有好几种Option配置。[page]
接下来贴下几张Option配置的画面,其中有一些的配置方式我也真正不知道是什么原因,但工程是可以正常编译,下载的······
选好器件
这里主要进行晶振设置,跟ROM和RAM的设置,防止堆栈
溢出等,这里是STM32F103ZET6的设置。
这里主要是进行Library文件夹包含的配置,以及warning
提示的设置,下图则是include path的设置。[page]
关键字:Keil uvison ARM
引用地址:
图说Keil uvison 4 for ARM 基本使用方法
推荐阅读最新更新时间:2024-03-16 13:56
基于ARM嵌入式系统的PC/104总线设计
当前已经进入嵌入式系统全面应用时代,基于ARM处理器和嵌入式Linux的嵌入式系统以其设计灵活、软硬件可裁剪、性能优越、成本低等特点和优势,倍受设计者和使用者青睐。 其在低功耗、低成本应用领域确立了其市场领导地位;同时随着x86架构的不断成熟和x86处理器的应用范围越来越广,人们逐步开始认识到其本身架构的限制,在工业控制领域嵌入式ARM处理器将有望取代传统的X86处理器。
PCI04总线是一种近年来在国际上广泛流行的专门为嵌入式系统而定义的工业控制总线,被IEEE协会定义为IEEE-P996,该系列产品已广泛应用于通信设备、车辆导航、工程控制等各种领域。由于PC或PC/AT的主板和扩展卡的尺寸及
[嵌入式]
ARM RO、RW、ZI解释
一般而言,一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。对于嵌入式系统而言,程序映象都是存储在Flash存储器等一些非易失性器件中的,而在运行时,程序中的RW段必须重新装载到可读写的RAM中。这就涉及到程序的加载时域和运行时域。简单来说,程序的加载时域就是指程序烧入Flash中的状态,运行时域是指程序执行时的状态。对于比较简单的情况,可以在ADS集成开发环境的ARM LINKER选项中指定RO BASE和RW BASE,告知连接器RO和R
[单片机]
ARM aarch64汇编学习笔记(九):使用Neon指令(一)
NEON是一种基于SIMD思想的ARM技术。 SIMD, Single Instruction Multiple Data,是一种单条指令处理多个数据的并行处理技术,相比于一条指令处理一个数据,运算速度将会大大提高。 ARMv8 有31 个64位寄存器,1个不同名字的特殊寄存器,用途取决于上下文, 因此我们可以看成 31个64位的X寄存器或者31个32位的W寄存器(X寄存器的低32位) ARMv8有32个128位的V寄存器,相似的,我们同样可以看成是32个32位的S寄存器或者32个64位的D寄存器。 也可以用作32个64bit D0-D31或32个32bit S0-S31 或32个 16bit H0-h31 或 32个
[单片机]
ARM启动中的分散加载
分散加载作用: 可以将代码放入不同的存储空间。 5个G的计算机,电子专业书籍分享。 链接:https://pan.baidu.com/s/1y8BnUlGmiJMujLlTyrhznA 提取码:j9na 1.基本概念 了解分散加载文件之前,首先需要了解Code、RO-Data、RW-Data、ZI-Data。 Code:程序代码 RO-Data:程序中定义的常量以及const型数据 RW-Data:已经初始化的静态变量,变量有初始值 ZI-Data:没有初始化的静态变量,变量没有初始值 #define num 10 /*RO-Data*/ char const flage = 5;
[单片机]
嵌入式Linux之我行——ARM MMU工作原理剖析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时他将调用另一个覆盖块。虽然覆盖块的交换是由OS完成的,但是必须先由程序员把程序先进行分割,这是一个费时费力的工作,而且相当枯燥。人们必须找到更好的办法从根本上解决这个问题。不久人们找到了一
[单片机]
ARM嵌入式平台的VGA接口设计
大多数嵌入式产品的显示终端都选择LCD,但在某些需要大屏幕显示的应用中,工业级LCD的价格比较昂贵,且现有的大屏幕显示器(包括CRT显示器和LCD显示器)一般都采用统一的15针VGA显示接口。三星公司ARM9芯片S3C2410以其强大的功能和高性价比在目前嵌入式产品中得到广泛的应用。笔者在开发基于ARM嵌入式平台的血液流变测试仪的过程中,成功地利用高性能视频D/A转换芯片ADV7120,将S3C2410自带的LCD扫描式接口转换为VGA接口,使之能够驱动VGA接口的显示器。 1 VGA接口介绍 近年来,业界制定出了众多数字化的显示接口协议,较为典型的是DVI(Digital Visual Interface)。由于数字接口的标
[嵌入式]
达人教你如何选择嵌入式操作系统
嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发展到以arm CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不同的arm核的嵌入式处理器上移植。 嵌入式操作系统都具有一定的实时性,易于裁剪和伸缩,可以适合于从ARM7到Xscale各种ARM CPU和各种档次的应用,嵌入式操作系统可以使用广泛流行的ARM开发工具,如arm公司的SDT/ADS和RealView等,也可以使用开发软件,如GCC/GDB、KDE或Eclipe开发环境,市场上还有专用的开
[嵌入式]
ARM裸机程序研究
1. Linux下的二进制可执行文件。 如果世界很简单,那么二进制可执行文件也应该很简单,只包括CPU要执行的指令就可以了。可惜,世界并不简单……。Linux下的二进制可执行文件(以下简称可执行文件),也并不是只包括了指令,还包括了很多其他的信息,比如,执行需要的数据,重定位信息,调试信息,动态链接信息,等等。 所有这些信息都按照一个预定的格式组织在一个可执行文件里面。Linux下叫ELF可执行文件。 举一个最简单的例子,假设有下面这个程序: int main() { return 0; } 这个连“Hello World”都不能打印的程序,自然是什么都做不了。当然,如果只是把这个文件保存为文本文
[单片机]