OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 144|回复: 0

i.MX6ULL裸机程序跳转不到C语言的环境里去

[复制链接]

0

主题

0

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2025-3-6
在线时间
6 小时
发表于 4 天前 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 佚梦 于 2026-1-26 19:53 编辑

i.MX6ULL 开发板的裸机程序,点灯,用给的例程也跑不了,前一天还好好的,第二天就不行了,什么都没改。纯汇编可以正常运行,我在这个环境的.s加了初始化和点灯去测试,可以正常运行,用Ai也没解决。
下面的图片都是程序和例程一样(我也用给的例程跑了一下,也一样),点灯的。汇编文件,Makefile 文件,链接脚本,main.h,文本是main.c。


#include "main.h"

void clk_enanle(void)
{
    CCM_CCGR0 = 0xffffffff;
    CCM_CCGR1 = 0xffffffff;
    CCM_CCGR2 = 0xffffffff;
    CCM_CCGR3 = 0xffffffff;
    CCM_CCGR4 = 0xffffffff;
    CCM_CCGR5 = 0xffffffff;
    CCM_CCGR6 = 0xffffffff;
}

void led_init(void)
{
    SW_MUX_GPIO1_IO03 = 0x5;
    SW_PAD_GPIO1_IO03 = 0x10b0;

    GPIO_GDIR = 0x8;
    GPIO1_DR = 0X0;
}

/*短延时*/
void delay_short(volatile unsigned int n)
{
    while (n --){}
}

void delay(volatile unsigned int n)
{
    while (n --)
    {
        delay_short(0x7ff);
    }

}

void led_on(void)
{
    GPIO1_DR &= ~(1<<3);
}
void led_off(void)
{
    GPIO1_DR |= (1<<3);
}

int main(void)
{
    clk_enanle();
    led_init();


    while(1)
    {
        led_on();
        delay(500);
        led_off();
        delay(500);
    }

    return 0;
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-1-30 15:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表