Atmel sam 4c不会运行简单程序,调试后计算内存

时间:2015-10-17 15:52:38

标签: c arm embedded atmel atmelstudio

背景和设置

缺少一些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;在“踩到”之后,它就会进入看似无限循环的状态。如果我点击停止并尝试重新开始,我会得到相同的“不能写入手臂记忆”并且必须跳过擦除。

有什么想法吗?!

0 个答案:

没有答案