背景和设置
缺少一些Arduino开发,我是嵌入式世界的新手。决定跳进去学习!有一个带有ATSam4C32C微处理器的Sam4C-ek,还有Atmel ICE调试器。得到了所有东西,并安装了Atmel Studio 7.进入数据表,在PC8上找到了一个用户可控的LED,找到了PIO控制器上的文档,最后得到了这个代码,只需打开LED:
#include "sam.h"
#include "component\pio.h"
int main(void)
{
/* Initialize the SAM system */
SystemInit();
PIOC->PIO_OER = PIO_OER_P8;
PIOC->PIO_PER = PIO_PER_P8;
PIOC->PIO_SODR = PIO_SODR_P8;
return 1;
}
从atmel libs定义:
#define PIOC (0x4800C000U) /**< \brief (PIOC ) Base Address */
#define PIO_OER_P8 (0x1u << 8) /**< \brief (PIO_OER) Output Enable */
#define PIO_PER_P8 (0x1u << 8) /**< \brief (PIO_PER) PIO Enable */
#define PIO_SODR_P8 (0x1u << 8) /**< \brief (PIO_SODR) Set Output Data */
问题
我在没有调试的情况下点击启动,它加载微型,没有任何反应......嗯,好吧我做错了什么。点击停止,点击“开始调试和中断”,我收到错误消息“无法写入ARM内存”。那很奇怪!尝试一些事情,比如通过AS7进行全芯片擦除,但最终必须跳过擦除引脚并重置微控制器。点击“启动调试并中断”它加载程序并打开“int main(void)”按F10单步执行,SystemInit()变好,点击行PIOC-&gt; PIO_OER = PIO_OER_P8;在“踩到”之后,它就会进入看似无限循环的状态。如果我点击停止并尝试重新开始,我会得到相同的“不能写入手臂记忆”并且必须跳过擦除。
有什么想法吗?!