跟着韦东山学习Linux:

今天系统系统性的学了代码的编译下载,条记录一下:

一,代码:001_led_on.S,就把下面代码编译后Bin文件下载进2440处理器。

/*
* 点亮LED1: gpf4
*/

.text
.global _start

_start:

/*
配置GPF4为输出引脚

*******************/
ldr r1,=0x56000050
ldr r0,=0x100
str r0,[r1]

/*******
把GPF4输出高电平
把0写到地址0x56000054

****************/
ldr r1,=0x56000054
ldr r0,=0
str r0,[r1]

/******
死循环
********/
halt:
b halt
/***********************/

二。编译:

三条指令

arm-linux-gcc -c -o 001_led_on.o 001_led_on.S
arm-linux-ld -Ttext 0 001_led_on.o -o 001_led_on.elf
arm-linux-objcopy -O binary -S 001_led_on.elf 001_led_on.bin

三。建立makefile文件:

all:
arm-linux-gcc -c -o 001_led_on.o 001_led_on.S
arm-linux-ld -Ttext 0 001_led_on.o -o 001_led_on.elf
arm-linux-objcopy -O binary -S 001_led_on.elf 001_led_on.bin
clean:
rm *.bin *.o *.elf

四。使用命令make生成Bin文件。

五使用win7 dos窗口,oflash下载Bin文件在nandflash。

六。观察到一个灯一直亮了。

测试成功!

编写第一个Linux环境下程序的编译,下载记录的更多相关文章

  1. Linux环境下使用VSCode编译makefile文件的注意事项

    Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...

  2. Linux环境下使用gcc编译,gdb反汇编C语言程序

    使用虚拟机 VMware Workstation 10 Linux环境:Ubuntu 14.04 LTS Server amd64   我把过程截图如下. 首先是hello world程序: 备注: ...

  3. 分享一个 Linux 环境下,强力的Python 小工具

    场景 Linux 用户,经常需要在终端查看一些数据,从文件里看 或者网络协议获取数据并查看. 比如,查看文件里的json数据:比如,查看etcd里存下的数据. 如果直接看cat 或者 curl 得到的 ...

  4. Linux 环境下使用g++编译C++

    单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #include <iostream& ...

  5. Linux 环境下程序不间断运行

    一.背景     在linux命令行中执行程序,程序通常会占用当前终端,如果不启动新的终端就没法执行其他操作.简单可以通过'&'将程序放到后台执行,但是这种方法有个问题就是,一旦连接远程服务器 ...

  6. C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码

    项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求调整为可以在Linux下运行,经过这两天的资料查找,实现了Linux下通过.NET来获取多 ...

  7. 分享一个linux环境下快速读取行数的命令

    最初是因为我需要计算一天的日志行数,如果用传统意义上的cat  a.log |wc -l的话因为是单线程,所以需要计算半小时的样子,后来同组的小伙伴教了我一个方法可以有效提高计算速度,将计算时间减半. ...

  8. 在linux环境下安装oracle的问题记录

    问题1 xhost:unable to open display 解决办法: 在linux虚拟机本机打开终端,执行 [root@bogon ~]# DISPLAY=:0.0;export DISPLA ...

  9. Linux环境下的Nginx编译与安装

    1.新建文件夹: mkdir -p /zuker cd /zuker 2.编译: yum -y install gcc-c++ make wget autoconf libjpeg libjpeg-d ...

随机推荐

  1. zeebe 0.20.0 发布生产可用了!

    一个比较好消息,来自camunda zeebe 团队的消息,zeebe 0.20.0 发布,终于可以生产可用了 如果关注了官方的声明的话,同时团队也出了一个自己的许可协议,但是和大部分当前的开源 产品 ...

  2. tbls ci 友好的数据库文档化工具

    tbls 是用golang 编写的数据库文档化工具,当前支持的数据库有pg.mysql.bigquery 此工具同时提供了变更对比.lint 校验,生成是markdown格式的 简单使用 安装 mac ...

  3. 解决IE报错[vue router]Failed to resolve async component default:strict 模式下不允许分配到只读属性

    之前遇到过一个奇怪的问题,在其他浏览器下一切正常,但在万恶的IE下,却一直不行. 具体问题场景就是:比如orderDetail页面出现问题,那么只要是路由跳转的,点第1次无法跳转,必须得点第2次才可以 ...

  4. 逆向对抗技术之ring3解除文件句柄,删除文件

    目录 一丶简介 二丶实战 + 环境模拟 1.环境模拟. 2.删除原理 3.代码实现 一丶简介 这些问题主要是工作中会遇到.包括后面的逆向对抗技术.有的可能只会提供思路.并且做相应的解决与对抗. 二丶实 ...

  5. pycharm+gitee环境搭建(超详细)

    背景:本地开发代码在没有云托管的时候代码很容易丢掉,如果是小团队,这时候可以使用公司团队注册一个账号共同使用.如果是个人用于代码存储或者用于以后项目经验也推荐gitee.大的团队可以购买 环境:win ...

  6. Codeforces 839D Winter is here - 暴力 - 容斥原理

    Winter is here at the North and the White Walkers are close. John Snow has an army consisting of n s ...

  7. 带状矩阵的存储(c++)

    2     1     0     0 3     1     3     0 0     5     2     7 0     0     9     0 这个程序对于三对角矩阵都是有效的,为了精 ...

  8. 团队作业-Beta冲刺(2/4)

    队名:软工9组 组长博客:https://www.cnblogs.com/cmlei/ 作业博客:https://edu.cnblogs.com/campus/fzu/SoftwareEngineer ...

  9. 解决用官方容器启动redmine无法插入中文字符的问题

    jiangzhaowei@kitking:/kitking/redmineIot$ sudo docker-compose up -d Creating network "redmineio ...

  10. fxjwind Calcite分析 - Volcano模型

    参考,https://matt33.com/2019/03/17/apache-calcite-planner/ Volcano模型使用,分为下面几个步骤, //1. 初始化 VolcanoPlann ...