1工欲善其事-必先利其器

  1. 裸机开发流程

本次只考虑3,4步

1.1

交差工具链

[[email protected] home]# mkdir S3-ARM/Part1/lesson1

mkdir: 无法创建目录"S3-ARM/Part1/lesson1": 没有那个文件或目录

[[email protected] home]# mkdir S3-ARM

[[email protected] home]# cd S3-ARM/

[[email protected] S3-ARM]# mkdir Part1

[[email protected] S3-ARM]# cd Part1/

[[email protected] Part1]# mkdir lesson1

[[email protected] Part1]# cd lesson1/

[[email protected] lesson1]# chmod 777 ./

[[email protected] lesson1]# ls

ARM-Tools.tar.gz

[[email protected] lesson1]# tar xzf ARM-Tools.tar.gz

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz

[[email protected] lesson1]# cd ARM-tools/

[[email protected] ARM-tools]# ls

arm-linux-gcc-4.3.2.tgz dnw eclipse-cpp-helios-SR2-linux-gtk.tar.gz

arm-linux-gdb-7.5.tar.gz dnw_usb.ko JLink_Linux_V434a.tgz

[[email protected] ARM-tools]# rm /usr/local/arm/ -rf

[[email protected] ARM-tools]# tar xzf arm-linux-gcc-4.3.2.tgz -C /

[[email protected] ARM-tools]# cd /usr/local/arm/4.3.2/bin/

[[email protected] bin]# ls

arm-linux-addr2line arm-linux-objdump arm-none-linux-gnueabi-gcov

arm-linux-ar arm-linux-ranlib arm-none-linux-gnueabi-gdb

arm-linux-as arm-linux-readelf arm-none-linux-gnueabi-gdbtui

arm-linux-c++ arm-linux-size arm-none-linux-gnueabi-gprof

arm-linux-c++filt arm-linux-sprite arm-none-linux-gnueabi-ld

arm-linux-cpp arm-linux-strings arm-none-linux-gnueabi-nm

arm-linux-g++ arm-linux-strip arm-none-linux-gnueabi-objcopy

arm-linux-gcc arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-objdump

arm-linux-gcc-4.3.2 arm-none-linux-gnueabi-ar arm-none-linux-gnueabi-ranlib

arm-linux-gcov arm-none-linux-gnueabi-as arm-none-linux-gnueabi-readelf

arm-linux-gdb arm-none-linux-gnueabi-c++ arm-none-linux-gnueabi-size

arm-linux-gdbtui arm-none-linux-gnueabi-c++filt arm-none-linux-gnueabi-sprite

arm-linux-gprof arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-strings

arm-linux-ld arm-none-linux-gnueabi-g++ arm-none-linux-gnueabi-strip

arm-linux-nm arm-none-linux-gnueabi-gcc

arm-linux-objcopy arm-none-linux-gnueabi-gcc-4.3.2

添加PATH环境变量

[[email protected] home]# vim /root/.bashrc

export PATH=$PATH:/usr/local/arm/4.3.2/bin

[[email protected] home]# source /root/.bashrc

[[email protected] home]# cd /home/S3-ARM/Part1/lesson1/

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.lds led.S Makefile

[[email protected] lesson1]# arm-linux-gcc -g -c led.S

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.lds led.o led.S Makefile

[[email protected] lesson1]# arm-linux-ld -Tled.lds -o led.elf led.o

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.elf led.lds led.o led.S Makefile

[[email protected] lesson1]# arm-linux-objcopy -O binary led.elf led.bin

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.bin led.elf led.lds led.o led.S Makefile

  1. 交差工具链
  2. 链接器脚本
  3. Makefile

[[email protected] lesson1]# make clean

rm *.o led.elf led.bin

[[email protected] lesson1]# make

arm-linux-gcc -g -o led.o -c led.S

arm-linux-ld -Tled.lds -o led.elf led.o

arm-linux-objcopy -O binary led.elf led.bin

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.bin led.elf led.lds led.o led.S Makefile

烧写到开放板

裸机程序烧写到nandflash

利用nandflsah安装辅助程序安装

将boot开关从00011001à00011111即由nandflash到sd卡启动

打开D:\可移动磁盘\006 嵌入式\飞凌嵌入式\TE6410基础资料-256\Linux-3.0.1\Linux烧写工具\SD_Writer.exe

  1. Scan
  2. Select Boot
  3. Program

打开D:\Program Files\SecureCRT_绿色版

使光标在开发板上电

按住空格键从SD卡启动

###################### User Menu for OK6410#####################

[1] Format the nand flash

[2] Burn image from SD card

[3] Burn image from USB

[4] Reboot the u-boot

[5] Exit to command line

-----------------------------Select---------------------------------

Enter your Selection:1

?

NAND scrub: device 0 whole chip

Warning: scrub option will erase all factory set bad blocks!

There is no reliable way to recover them.

Use this command only for testing purposes if you

are sure of what you are doing!

?

Really scrub this NAND flash? <y/N>

scrub aborted

?

###################### User Menu for OK6410#####################

[1] Format the nand flash

[2] Burn image from SD card

[3] Burn image from USB

[4] Reboot the u-boot

[5] Exit to command line

-----------------------------Select---------------------------------

Enter your Selection:3

使s3c6400x设备连接到虚拟机

##### Select the fuction #####

[1] Flash u-boot

[2] Flash kernel

[3] Flash system

[4] Exit

Enter your Selection:1

?

NAND erase: device 0 offset 0x0, size 0x200000

Erasing at 0x180000 -- 100% complete.

OK

OTG cable Connected!

Now, Waiting for DNW to transmit data

Download Done!! Download Address: 0x50008000, Download Filesize:0xe0

Checksum is being calculated.

Checksum O.K.

?

NAND write: device 0 offset 0x0, size 0x200000

1032192 bytes written: OK

?

[[email protected] ~]# cd /home/S3-ARM/Part1/lesson1/

[[email protected] lesson1]# ls

ARM-tools ARM-Tools.tar.gz led.bin led.elf led.lds led.o led.S Makefile

[[email protected] lesson1]# cd ARM-tools/

[[email protected] ARM-tools]# ls

arm-linux-gcc-4.3.2.tgz dnw eclipse-cpp-helios-SR2-linux-gtk.tar.gz

arm-linux-gdb-7.5.tar.gz dnw_usb.ko JLink_Linux_V434a.tgz

[[email protected] ARM-tools]# insmod dnw_usb.ko

?

Message from [email protected] at Sep 13 23:42:34 ...

kernel:GuoQian USB driver for DNW!

[[email protected] ARM-tools]# ./dnw ../led.bin 50008000

addr = 50008000

File name : ../led.bin

File size : 224 bytes

Start Sending data...

Sent 100% ???? 234 bytes !OK

时间: 2024-12-28 12:24:06

1工欲善其事-必先利其器的相关文章

工欲善其事必先利其器--------搭建Android平台

工欲善其事必先利其器--------搭建Android平台 1.1            安装JDK 在Eclipse的开发过程中需要JDK或JRE的支持,否则会报错. (1)     下载JDK(建议去JDK官网下载)[Java SE Downloads 中的Java platform(JDK)](最好不要安装在带空格的目录下) 图1-1 JDK下载 (2)     配置环境变量(此步骤很重要,过程可参照网上步骤) JAVA_HOME:  C:\Program Files\Java\jdk1.

转:【工欲善其事必先利其器】—Entity Framework实例详解

开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/30/ef6-alpha-1-available-on-nuget.aspx 俗话说:“工欲善其事必先利其器”,在深入讲解Entity Framework之前,先准备一下开发工具以及前期的配置. 一.开发工具 开发工具基本略过,这里说一下,我使用的是Visual Studio 2012,Entity

工欲善其事必先利其器—成绩登统系统

    工欲善其事必先利其器.谓工匠想要使他的工作做好,一定要先让工具锋利.比喻要做好一件事,准备工作非常重要.语出孔子·<论语·卫灵公>:子贡问为仁.子曰:"工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者." 也就是我们通常所说的磨刀不误砍柴工.那么体现在系统或者软件开发上磨刀就是前期的准备工作,也就是各个文档编写以及原型的画出与完善. 1.      第一阶段:需求调研     毛主席说过,"没有调查就没有发言权":一切的需求来自于实

单片机开发——01工欲善其事必先利其器(Keil软件安装破解)

本文是博主<单片机开发>博客第一篇文章,主要讲述51单片机编程软件Keil uVision4的安装及破解过程. 1. Keil uVision4安装包文件 PATH:链接:https://pan.baidu.com/s/1IEUUhND_0F_6pXVbhlJamQ 密码:dqrd 安装包内容:安装文件.破解机.汉化包(不建议汉化). 2. Keil uVision4软件安装 双击安装包,一直"NEXT"到最后,选择Finish,到这里软件的安装过程完成. 3. Keil

工欲善其事,必先利其器-Python编辑器选择(2)

前言:工欲善其事.必先利其器 一款顺手的好的编辑器可以让程序员写代码更得心应手,效率也会更高,但是编辑器本身没有好坏,只有使用者使用起来是否顺手而已,这里简单给大家介绍几款常用的可以编辑Python的软件. 一.终端直接编写 windows系统:Win+r,然后在运行框中输入cmd即可打开终端. MAC系统:可以在Launchpad中直接打开终端. 简单说明(针对上图数字处说明) 1.Python3:说明我们的代码是使用的python3的版本,目前有python2和python3两个版本,毫无疑

工欲善其事必先利其器-Notepad++使用小记(Python)

大学开始就一直使用Notepad++ 作为代码编辑器,喜欢它的简洁明了,喜欢它的个性,也喜欢它各种各样骚气的插件. 今天闲来无事,写篇文章记录一下平时使用的种种,包括但不限于个性化使用一些宏,快捷键,相关的命令以及一些个人用的比较多的插件. 本人平时代码最多的也是Python-web相关方面的代码编写,所以这里着重(或者是主要)介绍一些如何将Notepad++打造的适合Python开发. Norepad++ 简介,看看它的主页就明白了 贴一段百科上面的介绍(via): Notepad++是一套非

[2]工欲善其事必先利其器-------UML中的几种常见关系(二)

目录 1.UML类图中几种常见的关系 经过(一)中介绍,我选择的是StarUML作为UML的学习工具,个人喜好,至少在功能上能够满足我现在的需求, 在介绍StarUML的使用之前首先介绍下UML中几种常见的关系: UML类图中常见的关系按照关系的强弱可分为:泛化 ,实现 ,组合, 聚合 , 依赖这几种 1.泛化关系:是一种继承关系,也就是XX is a kind of XX 描述. 2.实现关系:是一种类与接口的关系. 3. 组合关系:是一种强关联,属于一种整体与部分的关系,但是部分不能离开整体

网易云课堂_C++程序设计入门(下)_第11单元:工欲善其事必先利其器 - STL简介_第11单元 - 单元作业1:OJ编程 - vector 与 sort

第11单元 - 单元作业1:OJ编程 - vector 与 sort 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 本次作业练习使用 vector 容器以及 sort 算法,对输入的数据进行排序 依照学术诚信条款,我保证此作业是本人独立完成的. 1 本次作业练习使用 vector 容器以及 sort 算法,对输入的数据进行排序(5分) 题目的具体内容参见 [第

工欲善其事必先利其器之搜索引擎

众所周知,搜索引擎在我们生活里面是离不开的,特别是对一个程序员来说能够好好的利用好这个资源可以使我们的做事的效率提高很多,,达到事倍功半的效果!今天我们就来看一看如何优雅的使用搜索引擎!     1.简单查询.在搜索引擎中输入关键词,然后点击“搜索”就行了,系统很快会返回查询结果,这是最简单的查询方法,使用方便,但是查询的结果却不准确,可能包含着许多无用的信息. 2. 使用双引号用(" ").给要查询的关键词加上双引号(半角,以下要加的其它符号同此),可以实现精确的查询,这种方法要求查

工欲善其事必先利其器(篇一)

作为计算机小白,每当看到那些用命令行取代图形界面.在暗背景加各种代码高亮的屏幕上自由操作电脑的人,我便不由得投去歆羡的目光,感慨那样才是计算机的正确打开方式,只知道用鼠标在屏幕上点来点去太没前途了.既然我决定在暑期提高自己的编程姿势那就从基本的开发环境设置开始吧. 1. https://github.com/0nn0/terminal-mac-cheatsheet  在Github上找到这份好东西,里面为在Mac终端下一些常用的命令,虽然很多个快捷键记忆下来很繁琐,但是通过不断的重复使用把它们变