博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第2个程序:用C语言实现点亮一盏led
阅读量:5791 次
发布时间:2019-06-18

本文共 1531 字,大约阅读时间需要 5 分钟。

  1. 一共有三个文件:head.S   led_on_c.c  Makefile

  2. head.S的内容如下:
  3. 1 /* 2 **  时间 :2016年4月8日16:56:35 3 **  地点 :宿舍。 4 **  功能 :初始化一些硬件相关的东西,调用C函数。 5 **   6 **  附加信息:  7 **  1、运行环境:JZ2440v2开发板。 8 **  2、程序编译环境:Ubuntu9.10 + 交叉编译工具arm-linux-gcc。 9 **  3、所用到的寄存器有:GPFCON、GPFDAT、WTCON。10 **  4、led1所接到的引脚是GPF4引脚。11 */12 13 .equ    WTCON,    0x53000000    @宏定义WTCON为0x5300000014 15 .text16 17 .global _start18 19 _start :20     /* 关看门狗,防止cpu不断自启。 */21     ldr r0, = WTCON22     mov r1, #023     str r1, [r0]24 25     /* 调用C函数前要先设置栈。 */26     ldr sp, = 409627 28     /* 调用C函数。 */29     bl main30 31 halt_loop :32     b halt_loop

     

  4. led_on_c.c内容如下:
  5. 1 /*  2 **    时间 :2016年4月8日17:05:23 3 **  地点 :宿舍。 4 **    功能 :点亮第一盏LED:led1。 5 */ 6  7 #define GPFCON        *((volatile unsigned long *)0x56000050) 8 #define GPFDAT        *((volatile unsigned long *)0x56000054) 9 10 int main(void)11 {12     /* 配置GPF4引脚为输出引脚。 */13     GPFCON = 0x00000100;14 15     /* 让GPF4引脚输出低电平,点亮led1。 */16     GPFDAT = 0x00000000;17 18     while (1);19 20     return 0;21 }

     

  6. Makefile文件的内容如下:
  7. #

    # 时间 :2016年4月8日17:11:09
    #

    led_on_c.bin : head.S led_on_c.c

    arm-linux-gcc -Wall -g -c head.S -o head.o
    arm-linux-gcc -Wall -g -c led_on_c.c -o led_on_c.o
    arm-linux-ld -Ttext 0x00000000 -g head.o led_on_c.o -o led_on_c_elf
    arm-linux-objcopy -O binary -S led_on_c_elf led_on_c.bin
    arm-linux-objdump -D -m arm led_on_c_elf > led_on_c_elf.dis
    arm-linux-objdump -D -b binary -m arm led_on_c.bin > led_on_c_bin.dis

    clean :

    rm -f *.o *.dis *.bin *elf

     

 

转载于:https://www.cnblogs.com/zhouhaiyang/p/5369136.html

你可能感兴趣的文章
postgres 数据备份与恢复
查看>>
linux系统学习第九天-<<工程师技术>>
查看>>
自研服务治理框架----获取本机IP地址
查看>>
mydumper数据库备份工具
查看>>
Android 调用webservice并解析
查看>>
Centos 7 可安装 mysql5.7
查看>>
How to disable directory listing in WebSphere e...
查看>>
Yii入门指导(二):Yii内功修炼
查看>>
PHP无限极分类
查看>>
mysql性能优化-慢查询分析、优化索引和配置
查看>>
什么是Event Loop
查看>>
Mac下android_sdk配置环境变量
查看>>
汉字的繁简转换demo
查看>>
PushMeBaby 使用 ios推送测试
查看>>
javascript中的回调和异步
查看>>
机器学习基础---再谈归纳偏置
查看>>
Angular 4.x 环境搭建到项目编译发布,.angular-cli.json、tsconfig.json、package.json重要参数配置...
查看>>
Centos 安装heartbeat
查看>>
批量添加sambauser脚本
查看>>
企业应该选择什么样的电子邮件系统?
查看>>