[国嵌笔记][015][裸机开发快速体验]

发布者:leader5最新更新时间:2025-02-25 来源: cnblogs关键字:裸机开发  工具链 手机看文章 扫描二维码
随时随地手机看文章

裸机开发流程

1.编写裸机程序

2.调试裸机程序

3.生成2进制映像(编译、链接、格式转换)

4.烧写/运行2进制映像

 

安装交叉编译器

1.复制arm-tools到Linux中

2.解压工具链  

tar zxvf ARM-tools.tar.gz

3.安装arm-linux-gcc  

tar zxvf arm-liunx-gcc... -C /    

'-C'表示解压到指定目录'/'中,arm-linux-gcc...,自动解压到了/usr/loacl/arm中

4.添加arm-linux-gcc到系统环境变量中  

vim /root/.bashrc  

export PATH=$PATH:/usr/local/arm/4.3.2/bin   添加环境变量路径  

source /root/.bashrc   让新添加的环境变量生效

 

编译裸机程序

1.复制裸机程序到Linux中

2.编译裸机程序  

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

'-g'表示生成可调试信息;'-c'表示编译,但不链接,会看到生成led.o

3.链接裸机程序  

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

'-T'表示要链接的脚本文件,表示把led.o和led.lds链接起来生成led.elf,该文件是elf格式不能直接下载运行,需要转换成二进制格式

4.转换裸机程序成二进制文件  

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

'-O binary'表示转换led.elf到二进制格式

5.通过Makefile文件来一次完成上面3步的编译工作  

make clean   清除生成的文件  

make   直接生成二进制文件

 

烧写程序到开发板

相关介绍

1.裸机程序烧写的位置是nand flash

2.烧写过程是用nor flash或sd卡中的安装辅助程序与pc建立通信,利用usb把程序下载到nand flash中

 

硬件连接

1.USB下载线连接

2.串口连接

3.电源连接

4.开关拨到nor flash启动

 

下载步骤

1.打开串口终端

2.格式化nand flash  

format nand flash for linux

3.下载程序到bootloader  

download vivi

4.连接USB下载线到Linux中

5.安装USB驱动  

insmod dnw_usb.ko

6.下载裸机程序到内存中  

./dnw led.bin 30008000   裸机程序下载地址为内存中的0x30008000


关键字:裸机开发  工具链 引用地址:[国嵌笔记][015][裸机开发快速体验]

上一篇:[国嵌笔记][016][交叉工具链]
下一篇:IMX6ULL学习笔记(2)——通过SD卡烧录镜像

推荐阅读最新更新时间:2026-03-24 10:29

美光出货车用 UFS 4.1:解锁快速、安全、可靠的智能出行体验
美光新一代汽车解决方案采用 G9 NAND 技术、专为 AI 工作负载打造,助力行业实现更安全、更智能、更互联的驾驶体验 德国慕尼黑,2025 年 11 月 17 日 — 汽车计算大会(Automotive Computing Conference,ACC) — 美光科技股份有限公司近日宣布,其车用通用闪存(UFS)4.1 解决方案的认证样品已开始向全球客户出货 。该产品旨在为下一代车辆提供快速的数据访问、卓越的可靠性,以及强化的功能与网络安全性能。美光车用 UFS 4.1 提供高达 4.2 GB/s 的带宽,是前代产品的两倍。这一性能优势可提升 AI 模型的数据访问能力,通过支持语音助手、个性化信息娱乐系统及高级安全警报等
[嵌入式]
美光出货车用 UFS 4.1:解锁<font color='red'>快速</font>、安全、可靠的智能出行<font color='red'>体验</font>
1.裸机开发环境的体验(Redhat 6.4 + vbox)
一、裸机开发的一般流程 注意:这是假定你已经搭建好了裸机开发环境 我们裸机的一般开发流程:图1-1: 图1-1 裸机开发流程 由于在这篇文章里是体验裸机程序,所以我们跳过了1、2步骤。直接从第三步开始: 二、交叉工具链的安装: 在这里,我们编写的程序是要在开发板运行的,不是在pc机,所以pc机的gcc等编译器不再适用了,我们必须按照交叉工具链。由于我们的程序是要在ARM架构运行的。所以安装的工具链是arm-linux-*的工具链。 我们的工具链包放在/home/ARM-tools里的:arm-linux-gcc-4.3.2.tgz。如图1-2: 图1-2 接下来是解压,就是安装,我们把它解压到/usr/local目录下:使
[单片机]
1.<font color='red'>裸机</font><font color='red'>开发</font>环境的<font color='red'>体验</font>(Redhat 6.4 + vbox)
只用串口和网络裸机开发ARM程序(OK6410开发板)
最近要学习ARM开发板,想按着单片机的套路,首先开发裸机程序。百度了下,大部分的裸机程序都是用RVDS或者ADS开发,用JLink 或者JTag烧写到Sdram中去执行。由于在ubuntu下使用习惯了,想脱离集成开发环境,所以在Linux下使用arm-linux-gcc 等工具开发。首先遇到的问题就是开发好的二进制文件怎么烧到板子上运行呢? 百度上给出的大部分方法是通过Uboot 来烧写,用Uboot的DNW烧写进去,但是我用的环境是Win7 64bit,DNW的USB驱动死活装不上,而且,也懒得找别人借条OTG线,所以这个途径就不考虑了。继续google,找到了一种方法,通过Uboot的Tftp 功能把二进制文件烧写到开发板
[单片机]
飞凌开发板:S3C6410 之裸机程序烧写
学习ARM时,看到三星ARM11 的官方手册上写道:S3C6410具备一个内部SRAM的缓冲器,叫做“STEPPINGSTONE”,支持NAND FLASH的系统引导。当系统启动时,NAND FLASH存储器的前4KB将自动被载入到“SETPPINGSTONE”中,然后系统自动执行这些载入的引导代码。(默认的话该存储区应该被映射到地址空间0处)。 于是一直就想写个裸机程序,长度不超过4KB,存放在NAND FLASH的最开始,这样每次系统上电从NAND FLASH启动时,都会把这段代码拷贝到被映射到地址0x0 处的“STEPPINGSTONE”处。这个应该是bootloader 的雏形吧,一上电就执行的程序。可是在裸机环境下一
[单片机]
三星6410裸机程序开发5:使用三星官方6410_Test工程开发裸机程序
在 三星6410裸机程序开发1 文章中,说到的是采用eclipse + windows安装版的专为ARM嵌入式处理器预编译的GNU工具组合来开发6410的裸机程序。由于遇到了中断问题,所以不得不切换开发环境。 幸运地是,不仅顺利切换到RVDS环境,而且还发现了三星官方6410_Test工程。这个工程提供了芯片大部分功能模块的裸机程序实现和测试用例程序。 1. RVDS环境安装 RVDS(RealView® Development Suite)是ARM公司继SDT与ADS1.2之后主推的新一代开发工具,向下兼容以前的版本(ADS v1.2.1、1.1、1.0.1)。由于6410_Test工程采用的是RVDS2.2,所以当然是
[单片机]
三星6410<font color='red'>裸机</font>程序<font color='red'>开发</font>5:使用三星官方6410_Test工程<font color='red'>开发</font><font color='red'>裸机</font>程序
三星6410裸机程序开发1:tiny6410开发板和裸机开发环境
目前,在帮别人开发一个短距离通信的无线接收模块,需求很简单,本来用简单的51单片机就可以搞定。可是人家偏偏指定要使用500MHz以上的CPU,而且采用裸奔的方式。 当时面对这种奇葩的要求,瞬间无语。幸好,对方允许使用友善之臂的tiny6410核心板。这样下来,开发这个收发器模块也就变得简单了。就权当自己练习吧! tiny6410开发板 硬件上,收发器模块使用tiny6410核心板(如下图所示),底板根据需求自行设计。这不仅可以缩短开发时间,降低开发难度,而且大大节省开发成本。 tiny6410核心板 由于硬件底板没有这么快设计出来,开发时间又短,因此考虑购买现成的6410开发板来开展前期的程序开发及调试工作。所以选择
[单片机]
全新3D视觉体验:无代码,无拖拽,浏览器快速设置
产线调试,速度即价值。如何在短暂的停线时间,快速部署视觉应用以实现机器替人,是必须攻克的一大难点。 星猿哲推出 全新3D视觉设置软件XYZ Studio ,无代码,无拖拽,浏览器快速设置。 采用向导式设计,内置多个算法工具,即使零基础人员,也可轻松实现视觉引导机器人流程的设置。 传统示教所需数日的部署调试,如今仅需5步,最快30分钟即可完成,带来焕然一新、无可比拟的视觉应用体验。 仅需5步,最快30分钟,视觉智能,触手可及。更多详情请联系我们,一起玩转视觉,引导机器人实现智能夹取和放置! *本文转载自星猿哲科技
[机器人]
客户体验决胜2022,低代码是快速取胜之道
Mendix预测:跨渠道的超个性化将占据2022年创新主导地位 ● 随着客户对于优化体验的不断追求,低代码将被广泛用于应用开发之外的领域,例如客户体验设计、智能工作流程自动化等 ● 使用低代码构建的多元体验将从网络和移动设备扩展到物联网设备,例如新型可穿戴设备 ● 开箱即用型API和多元数据连接将推动超个性化加速发展 中国北京,2022年2月10日——企业应用开发全球领导者Mendix, a Siemens business近期公布了2022年推动企业成功的七个客户体验趋势。随着客户对于优化体验的不断追求,更多企业将会为了提高自身的灵活性而转向低代码开发。 Mendix高层在预测2022年时,考虑到了新冠疫情的持续影
[嵌入式]
客户<font color='red'>体验</font>决胜2022,低代码是<font color='red'>快速</font>取胜之道
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved