嵌入式上机(二)Exynos4412开发板

2023-10-29 09:18

本文主要是介绍嵌入式上机(二)Exynos4412开发板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、SD卡制作启动盘
    • 1.拷贝sdfuse_q
    • 2.编译
    • 3.识别SD卡
    • 4.制作SD卡
  • 二、安装uboot2013
    • 1.拷贝
    • 2.SD卡启动方式
    • 3.SD烧写到flash
  • 三、交叉开发环境搭建
    • 1.配置开发网络环境
    • 2.配置交叉工具链
    • 3.交叉开发编译
    • 4.拷贝文件
  • 四、eMMC方式启动开发板
    • 1.设置eMMC
    • 2.tftp方式传输文件
      • (1)测试ping
      • (2)烧写
    • 3.设置启动参数
    • 4.重启开发板


uboot又从2010到2013版本


一、SD卡制作启动盘

1.拷贝sdfuse_q

Windows下:将提供资料中的sdfuse_q拷贝到虚拟机的共享目录下
在这里插入图片描述
进入虚拟机:将共享目录下的sdfuse_q文件夹拷贝到~目录下

cp /mnt/hgfs/share/sdfuse_q/ ~ -a

2.编译

进入文件夹编译:

cd ~/sdfuse_q
make
chmod 777 *.sh

3.识别SD卡

  1. 用读卡器将SD卡插入电脑

  2. 让虚拟机识别
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  3. 查看挂载情况,确定设备节点

df -Th

在这里插入图片描述
可以看到节点是sdb1,它挂载在/media/522C-B6E6

4.制作SD卡

将uboot烧写到SD卡中。

cd ~/sdfuse_q
sudo ./mkuboot.sh /dev/sdb1

二、安装uboot2013

1.拷贝

在电脑上重新插入SD卡,如果提示需要格式化,格式化即可。

虚拟机上在SD卡目录下创建目录sdupdate

sudo mkdir /media/522C-B6E6 sdupdate

并将实验移植后的镜像u-boot-fs4412.bin拷贝到该目录下。
在这里插入图片描述

cp /mnt/hgfs/share/u-boot-fs4412.bin /media/522C-B6E6/sdupdate

2.SD卡启动方式

将SD卡拔出插入开发板卡槽内,拨码拨至1000(SD卡启动)
连接开发板
启动串口调试工具

在这里插入图片描述
当前的eMMc的u-boot是2010版本,显示SDMMC,即SD卡启动成功。

3.SD烧写到flash

uboot下:将SD卡中2013版本的uboot烧写到flash,这样eMMC中的uboot就变成了2013版本。

sdfuse flashall

关机,将拨码拨至0110(eMMC启动),重启开发板

在这里插入图片描述
显示eMMC,uboot版本为2013.

三、交叉开发环境搭建

1.配置开发网络环境

将虚拟机的ip修改为192.168.100.192
在这里插入图片描述

2.配置交叉工具链

sudo gedit /etc/bash.bashrc

在这里插入图片描述
确保这句话在文件的末尾处,如果不在,添加这句话在文件末尾。

export PATH=$PATH:/usr/local/toolchain/toolchain-4.6.4/bin/

重启配置文件

source /etc/bash.bashrc

工具链的测试

arm-none-linux-gnueabi-gcc -v

在这里插入图片描述

3.交叉开发编译

#include<stdio.h>
int main(){printf("hello\n");return 0;
}

使用交叉开发编译版本的gccarm-none-linux-gnueabi-gcc来生成可执行文件,这个文件就拷到开发板上运行。
在这里插入图片描述

4.拷贝文件

将实验二中的U-Boot之外的镜像文件夹下的文件拷贝到共享文件夹下。
在这里插入图片描述

虚拟机下:

cp /mnt/hgfs/share/exynos4412-fs4412.dtb /mnt/hgfs/share/ramdisk.img /mnt/hgfs/share/uImage /tftpboot/

四、eMMC方式启动开发板

1.设置eMMC

还是将拨码拨至0110(eMMC启动)

2.tftp方式传输文件

(1)测试ping

ping Ubuntu主机ip

ping 192.169.100.192

可以ping通虚拟机才可以tftp传文件到开发板上

(2)烧写

uboot命令行下:

  1. 烧写内核镜像
tftp 41000000 uImage
movi write kernel 41000000
  1. 烧写设备树文件
tftp 41000000 exynos4412-fs4412.dtb
movi write dtb 41000000
  1. 烧写文件系统镜像
tftp 41000000 ramdisk.img
movi write rootfs 41000000 300000

这个300000是烧写大小

3.设置启动参数

uboot命令行下:

setenv bootcmd movi read kernel 41000000\;movi read dtb 42000000\;movi read rootfs 43000000 300000\;bootm 41000000 43000000 42000000
setenv bootargs
saveenv	

4.重启开发板

这篇关于嵌入式上机(二)Exynos4412开发板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299687

相关文章

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

QT移植到RK3568开发板的方法步骤

《QT移植到RK3568开发板的方法步骤》本文主要介绍了QT移植到RK3568开发板的方法步骤,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录前言一、获取SDK1. 安装依赖2. 获取SDK资源包3. SDK工程目录介绍4. 获取补丁包二

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

深入探索嵌入式 Linux

摘要:本文深入探究嵌入式 Linux。首先回顾其发展历程,从早期尝试到克服诸多困难逐渐成熟。接着阐述其体系结构,涵盖硬件、内核、文件系统和应用层。开发环境方面包括交叉编译工具链、调试工具和集成开发环境。在应用领域,广泛应用于消费电子、工业控制、汽车电子和智能家居等领域。关键技术有内核裁剪与优化、设备驱动程序开发、实时性增强和电源管理等。最后展望其未来发展趋势,如与物联网融合、人工智能应用、安全性与