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为0x53000000
    14
    15 .text
    16
    17 .global _start
    18
    19 _start :
    20     /* 关看门狗,防止cpu不断自启。 */
    21     ldr r0, = WTCON
    22     mov r1, #0
    23     str r1, [r0]
    24
    25     /* 调用C函数前要先设置栈。 */
    26     ldr sp, = 4096
    27
    28     /* 调用C函数。 */
    29     bl main
    30
    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

第2个程序:用C语言实现点亮一盏led相关推荐

  1. 树莓派点亮led灯C语言,树莓派点亮你的LED小灯——GPIO学习笔记

    这篇博文是我Coursera学习笔记整理所得,入门操作基本都在这里了.闲话不多说,直接进入正题. 1.树莓派的GPIO## GPIO是General Purpose Input Output (通用输 ...

  2. c语言程序设计点亮第一个LED,实验2__C语言程序设计及_LED跑马灯实验.ppt

    实验2__C语言程序设计及_LED跑马灯实验 软件工程系 实验目的 进一步熟悉ADS开发环境,并能进行相关设置 熟悉裸机系统下C语言运行环境的设置方法. 掌握ADS下C语言程序的编辑.编译.链接及下载 ...

  3. 单片机用c语言开关点亮一盏灯,用PLC设计用一个开关控制8个灯,每5S逐个点亮,并循环...

    我用S7-300的PLC中的STL语言编写的程序,你可以将它转化为LAD语言看的: 网络1 A     I      0.3          //用于流水灯的复位与停止循环点亮. JNB   _00 ...

  4. 大牛教学 | 在51单片机上用C语言实现循环点亮8盏LED灯

    大家好,最近很多同学都在找分享,也有许多同学问我单片机问题. 在此,在CSDN平台开设账号,分享平时给同学们的案例.希望能帮到更多的人.谢谢 首先是循环点亮LED灯 原理图 如上图,我们有8颗LED等 ...

  5. 【51单片机】在51单片机上用C语言实现循环点亮8盏LED灯

    标题[51单片机] 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 代码如下(示例): #include <REGX52.H> //sbit LED = P2^0; vo ...

  6. IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)

    IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard .xib 混用.完美解决方案) 参考文章: (1)IOS APP 国际化 程序内切换语言实现 不重新启动系统 ...

  7. 程序员的语言“艳遇史”(一)——班长pascal

    程序员的语言"艳遇史"(一) (***以下小说情节纯属虚构,供朋友们在紧张编程后轻松一下,如有雷同纯属巧合,切勿对号入座***) 地狱里,一个曾经的程序员经不过魔鬼们的严刑拷打,终 ...

  8. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  9. 写操作系统用的C语言和写应用程序的C语言不是一个

    我以前看一本书,名叫 30天自制操作系统:大概翻了一下,感觉也不是太难:因为比如,它有一整章在讲,C语言指针.C语言画一个矩形:你要是熟悉C语言的话,指针肯定理解:在没有窗口的情况下,用Turbo C ...

最新文章

  1. 使用php开发,基于swoole扩展开发的工具 swoole-crontab
  2. Ajax请求导出Excel的问题
  3. python怎么按键开始与停止_使用Python启动和停止子流程
  4. Vue-Cli 学习整理【转载】
  5. jQuery杂项进阶(四)
  6. ajax jquery php_基于Ajax jquery的使用php登录
  7. Android:Eclipse+ADT+Android SDK 搭建安卓开发环境
  8. DBeaverEE for Mac(数据库管理工具)v21.2.1中文版
  9. java计算机毕业设计vue图书管理系统MyBatis+系统+LW文档+源码+调试部署
  10. Win系统 - Win10 进入 BIOS 系统(非启动快捷键)
  11. nginx官网下载百度云分享
  12. 建立oracle数据库链接,Oracle数据库创建数据库连接(DBLink)详细讲解
  13. notion函数_【notion】关于进度管理-时间函数的一点小心得
  14. ubuntu11.10 安装谷歌拼音输入法详细步骤
  15. 三点法求点三维坐标实验
  16. php 正三角塔,以色列,耶路撒冷的中心地段,三角塔楼 / 里伯斯金
  17. 苹果6plus性能测试软件,iPhone 6、iPhone6 Plus性能测试
  18. 图片转换命令convert
  19. Unity开发回合制手游《魔神英雄传-神龙斗士》
  20. 吉隆坡Mac高清动态壁纸

热门文章

  1. java更改reader字体颜色,Java 修改 文件内容 and BufferedReader 乱码问题
  2. hadoop yarn 获取日志_Hadoop YARN日志查看方式
  3. 怎么看电脑有没有蓝牙_怎么选购电脑音响?挑选到性价比高的电脑桌面音箱,看完这篇推荐指南就懂了!...
  4. python 检测端口是否被占用
  5. Spring Cloud Zuul--服务网关
  6. Perl 模块 Getopt::Std 和 Getopt::Long
  7. 2019web前端全新面试题库 一
  8. 《Java编程思想》笔记10------字符串
  9. View 绘制体系知识梳理(7) getMeasuredWidth 和 getWidth 的区别
  10. Java泛型的个人理解