本帖最后由 shenwen2011 于 2013-1-16 11:19 编辑
在收到SAM4S Xplained评估板后,接下来就是软件的安装工作了! 首先在atmel的官网上下载Atmel studio 6.0,我寻着前辈足迹,很快的找到了这个网址:http://www.atmel.com/tools/atmelstudio.aspx ,然后点击下载Atmel Studio 6.0 with Service Pack 2 (build 1996) Installer – Full版本,这个有大约有800M大小!经过一段时间的下载,开始安装as6installer -6. 0. 1996 - net.exe,过一会会出现如下窗口。
总共要安装三个软件:Microsoft .NET Framework4.0 Full Profile、Microsoft Visual Studio Isolated Shell 10.0和Atmel USB Driver。下面就是安装过程中依次出现的安装界面。 首先安装的是Microsoft .NET Framework4.0 Full Profile和Microsoft Visual Studio Isolated Shell 10.0,安装界面如下图。 在装完上面的的软件和驱动之后,接下来安装的就是重点——Atmel Studio 6.0了。如图所示。
至此Atmel Studio 6.0就此安装完毕。接下来让我们来启动此软件,建立一个例程项目,完成编译、调试、下载。当我们打开Atmel Studio 6.0时,第一个见面就是一个启动界面,如下图所示。
之后进入Atmel Studio 6.0软件界面,如下图。
在上图中选择
建立例程项目,点击后出现如下图。
Atmel Studio 6.0在启动中,完成后是:
在上图界面中的Device Fmily栏中选择SAM4,32bit,在搜索栏中打入SAM4S Xplained,出现67个工程例程,我根据前人的提示,选择了Common Delay Service Example-SAM4S Xplained,显示如下图红框中所示。
之后点击OK,建立项目工程。如图下图所示。
鼠标移到项目根目录上,点击右键,build项目,对项目进行编译,上图中第一个红框可以改变芯片型号,第二红框,显示是否连接上硬件,现在显示无连接状态,现在马上对评估板上电后显示如下:
编译通过后如下图所示。
之后点击start Debugging and Break,下载到板子上,可以看到板子右边上面黄灯有规律的闪烁。
呵呵,至此一个完整例程下载进入板子,并完成了。下面我对例程中的一些函数,就我目前的理解,进行一定的注释。其中的不准确,还希望大家见谅!
可以看到,主函数中主要调用了sysclk_init()、board_init()、gpio_toggle_pin(LED0_GPIO)、delay_s(1)、delay_ms(100)、delay_us(100)。 首先sysclk_init(),是对时钟初始化,主要是时钟配置,我们板子芯片使用的是12M晶振! board_init()是对MCU芯片上各个寄存器配置,如PIO、RTT、RTC等一系列控制器的配置等。这里不详细说,有些本人也没有了解清楚。 delay_s(1)、delay_ms(100)、delay_us(100)三个是官方提供的三个延时函数,分别是秒延时、毫秒延时、微秒延时。 下面重点介绍下gpio_toggle_pin(LED0_GPIO)函数,函数实体如下图所示
图中的Pio是一个关于PIO的结构体,里面包含了PIO控制器的所有寄存器。PIA是PIOA控制器的基地址(我们MCU芯片上有三个PIO控制器,分别是PIOA、PIOB和PIOC,它们的空间都是0x2000),PIO_DELTA是PIOA的寄存器的长度。 PIO_ODSR是输出数据状态寄存器,只能读取,用来读取PIO当前数据状态。 PIO_CORD是清零输出寄存器,用来对输出置0。 PIO_SORD是置位输出寄存器,用来对输出置1。 LED0_GPIO是板子上LED1对应MCU上的索引号,LED1接到了PC10上。索引号是74,对应的二进制是0100 1010,由于PIO都是32位的,这样(ul_pin >> 5)就是取其高三位,对应的就是PIO控制器的地址,ul_pin & 0x1F低五位对应的就是PIO中某一个的地址了。对函数中处理结果,就是到真好对应就是PC10的地址,所以这样就不难理这个语句了p_pio-> IO_CODR = 1 << (ul_pin & 0x1F),这就是通过左移10位对PC10进行清零处理,同理p_pio-> IO_SODR = 1 << (ul_pin & 0x1F) 通过左移10位对PC10进行置位处理。下图是从Atmel官网上提供的《SAM4S Series Complete》关于上述几个寄存器的信息,希望对理解此段程序有用。
这部分由于本人能力有限,有说的不对的地方,希望各位纠正,也可以让我进步快点!呵呵,就写到这里! 我还上传了pdf文档!
|