• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > ARM裸机程序求助,编译通过,运行不正常

ARM裸机程序求助,编译通过,运行不正常

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了arm裸机程序,arm裸机开发,arm裸机,arm裸机 入门详解,arm裸机全集等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ARM裸机程序求助,编译通过,运行不正常
描述:

在某宝上买的s3c2440的板子,网上找的电子书学习了一段LED点灯的程序,然后就遇到了一个非常奇怪的问题,片外内存的初始化用C语言写,不能正常点灯,换成汇编就能正常点灯。请大神们帮忙看看到底怎么回事
Makefile:
sdram.bin:   sdram.s     GPIO_LED.c
        arm-linux-gcc  -c  -o  sdram.o sdram.s
        arm-linux-gcc  -c  -o  GPIO_LED.o GPIO_LED.c
        arm-linux-ld   -Ttext 0x30000000 sdram.o GPIO_LED.o -o sdram_elf
        arm-linux-objcopy -O binary -S sdram_elf sdram.bin
        arm-linux-objdump -D -m arm sdram_elf > sdram.dis
clean:
        rm -f  *.dis sdram.bin sdram_elf  *.o  *~
sdram.s
.text
.global _start
_start:
        ldr  sp, =4096
        bl   disable_watchdog                    //关看门狗
        bl   sdram_setup                             //初始化片外内存
        bl   nandcopy2sdram                     //将片内内存里的东西拷贝到片外内存
        ldr  pc, =sdram                                //跳转到片外内存
sdram:       
        ldr  sp, =0x34000000
        bl   main
        
halt_loop:
        b   halt_loop
GPIO_LED.c                                               //点亮开发板上的LED灯
#define        GPFCON           (*(volatile unsigned long *)0x56000050)
#define        GPFDAT           (*(volatile unsigned long *)0x56000054)
#define        WDCON           (*(unsigned long*)0x53000000)
#define        SDRAMCON      0x48000000
#define        GPF4_out        (1<<(4*2))
#define        GPF5_out        (1<<(5*2))
#define        GPF6_out        (1<<(6*2))
void  wait(volatile unsigned long dly)
{
        for(; dly > 0; dly--);
}
int main(void)
{
        unsigned long i = 0;
        GPFCON = GPF4_out|GPF5_out|GPF6_out;                // 将LED1,2,4对应的GPF4/5/6三个引脚设为输出
        while(1){
                wait(30000);
                GPFDAT = (~(i<<4));                 // 根据i的值,点亮LED1,2,4
                if(++i == 8)
                        i = 0;
        }
        return 0;
}
void disable_watchdog()
{
        WDCON  =  0 ;      //禁用watchdog
}
void sdram_setup()
{
        unsigned long const sdramfig[] = { 
                0x22011110,
                0x00000700,
                0x00000700,
                0x00000700,
                0x00000700,
                0x00000700,
                0x00000700,
                0x00018005,
                0x00018005,
                0x008c07a3,
                0x000000b1,
                0x00000030,
                0x00000030,
        };
        int i = 0;
        volatile unsigned long *p  =  (volatile unsigned long *) SDRAMCON;
        for(;i<13;i++)
        {
  &n

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ARM裸机开发,这么写eeprom的初始化程序是否合理?
  • ARM裸机程序求助,编译通过,运行不正常
  • ARM和嵌入式裸机编程入门建议

相关文章

  • 2017-06-05 驱动程序电源管理该怎么写,高分求救(100分)
  • 2017-06-05 本人想学嵌入式开发,想请各位推荐几本好书。
  • 2017-06-05 XilinxVirtex6FPGA与PC端千兆网口通信问题
  • 2017-06-05 海思平台使用iconv函数直接段错误!!!!!
  • 2017-06-05 vs2015安装wdk10以后项目添加文件报错
  • 2017-06-05 关于QT的问题
  • 2017-06-05 急急急。。。。。。请问系统windows调用驱动的什么函数(接口)判断鼠标是否存在?
  • 2017-06-05 单片机实现文件的读取
  • 2017-06-17嵌入式系统特点
  • 2017-06-05 WINCE20读写数据库怪问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何在自己的pc上装uC/OS-II?
    • MSP430F149单片机无法进入USART接收中断
    • XilinxNetFPGA-1G-CMLKintex-7FPGA板子做视频传输系统,求大神指点!!!
    • 请问下面的说明如何理解(关于中断寄存器的)
    • [stm32]无法使用printf进行串口输出
    • 文章标题人机接口设备(HID)和USB设备问题
    • OSX系统升级忘了备份文件,能找回来吗?
    • 摄像头采集到的图像会变暗OPENCV
    • 外中断汇编51单片机
    • STM32F407+USB3300使用微雪HID例程计算机识别为unknowndevice

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有