【AT91SAM3S】建立基于SAM3S库的工程并点亮LED

【AT91SAM3S】建立基于SAM3S库的工程并点亮LED

习惯了ST的库,猛然间看到ATMEL的库,有点无从下手。这几天参考这示例工程,终于建立了一个使用ATMEl库的工程。

软件库版本:

软件平台:MDK470A

硬件平台:英蓓特 EB-SAM3S

MCU: AT91SAM3S4C

1、库的来源

库来自atmel的网站:

我使用的工具链是MDK,香港空间,下载的是:AT91SAM3S-EK MDK Software Package for Keil uVision4

(需要Atmel注册才能下载)

2、MDK中需要设置的地方

因为要使用ATMEL提供的的库,所以需要根据库的要求对开发环境进行一些设置:

板子使用芯片SAM3S4C,设置预定义符号sam3s4。

将于库的目录和用到的。h文件目录加到IncludePath里边(根据下一部分目录结构定)

命令选项:–gnu。因为库里边有些东西不是ANIS C的。比如变量定义不再函数的最前面等等

设置工程组织结构如下:

(8)向工程添加文件

将E:\at91sam3s4c\at91lib\source中的board_cstartup_keil.c和board_lowlevel.c文件添加到工程的at91lib目录下,将E:\at91sam3s4c\chip\source中的exceptions.c、wdt.c、pmc.c、pio.c文件添加到工程的chip目录。将E:\at91sam3s4c\chip\cmsis中的core_cm3.c文件添加到工程的chip目录

在E:\at91sam3s4c\src中新建文件main.c,并添加到工程的usr目录。

(9)添加工程引用位置(IncludePath)

E:\at91sam3s4c;.\chip\cmsis;.\at91lib;.\at91lib\include;.\chip;.\chip\include

(10)编辑sct文件:

在工程选项的Linker选项卡中,首先取消Use Memory Layout…之前的选择,然后点击ScatterFile选择框后边的EDIT。使用自己的分散加载描述文件

(11)想分散加载描述文件中添加内容:

; *************************************************************; *** Scatter-Loading Description File generated by uVision ***; *************************************************************

Load_region 0x400000 0x40000{ ; Flash 256K Vector_region 0x400000 { board_cstartup_keil.o (vectors, +FIRST) } Fixed_region +0 { .ANY (+RO) } ; SRAM0 32K Relocate_region 0x20000100 (0x8000-0x100) { .ANY (+RW +ZI) } ; Configure Stack and Heap ARM_LIB_HEAP 0x20007000 EMPTY 0x400 { }

ARM_LIB_STACK 0x20007FFC EMPTY -0x400 { }}

(12)编辑文件startup_SAM3S.s

删除该文件所有的内容,香港虚拟主机,因为我们不用MDK提供的启动文件。之后向这个文件添加内容:

AREA WORKAROUND,CODE,READONLYEXTERN __vector_tableLDR r0,=__vector_tableALIGNEND

这些内容的意思可参考

(13)最后按F7生成即可。此时工程中还没有main函数,系统会报错。不用急,完成下一步就好了。

4、用库写一个点灯程序

板子LED的原理图如下:

即3个LED分别由PA19、PA20和PC20驱动。PA19、PA20电平为高时D2、D3被点亮,PC20为低电平时D4被点亮。

#include “board.h”

偶尔,我一个人站在黄昏的荒野,

【AT91SAM3S】建立基于SAM3S库的工程并点亮LED

相关文章:

  • 【算法】直接插入排序C语言实现
  • 嵌入式 FAAC1.28 在海思HI3518C/HI3518A平台linux中的编译优化
  • Android 动画animation 深入分析
  • 你感兴趣的文章:

    标签云:

    亚洲高清电影在线, 免费高清电影, 八戒影院夜间, 八戒电影最新大片, 出轨在线电影, 午夜电影院, 在线影院a1166, 在线电影院, 在线观看美剧下载, 日本爱情电影, 日韩高清电影在线, 电影天堂网, 直播盒子app, 聚合直播, 高清美剧, 高清美剧在线观看 EhViewer-E站, E站, E站绿色版, qqmulu.com, qq目录网, qq网站目录,