Linux与S5P100开发板的交互编译

news/2025/2/2 23:36:15/

Linux心得

这个系例文章是记录自己,在学习linux过程中,遇到并解决的问题。以及一些必备知识点的理解,希望能对看到的你有所帮助。
如果你觉得S学者写的不错的话,欢迎点赞评论。
在这里插入图片描述


S5P100开发板

  • Linux心得
  • 前言
  • 一、连接前准备
    • S5P100开发板与ubuntu交叉编译资源
    • 1.ubuntu安装nfs
    • 2.ubuntu安装tftp
    • 3.ubuntu安装arm-linux-gcc
    • 4.ubuntu安装VMware Tools
    • 5.ubuntu安装smb(非必须)
    • 6.串口驱动下载
  • 二、总配置流程
    • 1.具体步骤:
  • 三、功能测试
    • 1.播放音乐
    • 2..交叉编译
  • 总结


前言

本文使用linux为S5P100加载(Kernel)内核,挂载根文件系统。通过ubuntu与开发板进行交叉编译。

具体过程,


大致流程:
板子于电脑串口连接后,通电 U-boot加载引导程序。 并且利用tftp在Ubuntu下载zlmage(内核)到板子上 ,在通过nfs共享访问共享目录,作为板子的根文件系统。

一、连接前准备

  • 具体文档点击链接下载,内部含有保姆级步骤

S5P100开发板与ubuntu交叉编译资源

根据上述的流程,我们需要提前在ubuntu以及电脑上提前配置好环境。
ubuntu: nfs、tftp、arm-linux-gcc、VMware Tools 。
Windows:串口驱动。

1.ubuntu安装nfs

文件系统共享服务:共享一个文件目录,作为板子的根文件系统。

2.ubuntu安装tftp

文件传输协议:板子通过uboot向ubuntu请求下载内核映像。

3.ubuntu安装arm-linux-gcc

GCC编译器交叉编译工具链:将源代码编译为ARM体系结构上的可执行文件。

4.ubuntu安装VMware Tools

VMTools 可以提升虚拟机的玩机体验,其中对于文件传输的提升。在本次实验中,我们在Windows下拖拽实验要用的压缩包到共享文件夹下,Ubuntu中可以直接进行解压和复制。

  • 具体安装步骤,见博客:

    Linux中Ubuntu安装VMware Tool

5.ubuntu安装smb(非必须)

共享文件,类似于VMware Tools的文件共享。
实现Window 于ubuntu的共享。

6.串口驱动下载

压缩包与上几个文件放在一起。 (free)

二、总配置流程

1.具体步骤:

  1. 在 ubuntu 中将 zImage 复制到 /var/lib/tftpboot 目录下。

此文件会在开发板启动时动态自动通过网络以 tftp 网络协议下载到开发板的内存中。

sudo cp /mnt/hgfs/shared/zImage /var/lib/tftpboot
  1. 在 ubuntu 配置根文件系统。

解压filesystem.tar.gz 到 /opt 下,成为 /opt/filesystem。

sudo tar xzf /mnt/hgfs/shared/filesystem.tar.gz -C /opt

启动 nfs:

 sudo service nfs-server start   
  1. 接线说明、串口配置
    aRS232 串口线,一端接开发板的 COM1 接口,另一端 接电脑。
    电脑无RS232接口,用一根USB-RS232转接
    b电源线选用12V
    c板子接网线
    串口配置如下图:

在这里插入图片描述
4. 配置开发板 IP,及其他参数
查看网卡信息:ifconfig
在这里插入图片描述
u-boot 的 print 命令可以打印参数信息,如下:

SMDKC100 # print
bootdelay=5         # 启动延时秒数,在计数到 0 前回车可进入 u-boot 命令行
baudrate=115200     # 串口波特率
netmask=255.255.255.0      # 子网掩码
ethaddr=11:22:33:44:55:46  # MAC 地址
serverip=192.168.31.175    # 服务器 IP,即 ubuntu 桥接网卡的 IP
ipaddr=192.168.31.176      # 开发板的 IP,必须与服务器 IP 在同一网段
gatewayip=192.168.31.1     # 网关 IP
bootargs=root=nfs nfsroot=192.168.31.175:/opt/filesystem,v3 ip=192.168.31.176 init=/linuxrc console=ttySAC0,115200  # 启动参数
set=gatewayip 192.168.31.1 # 网关 IP
bootcmd=tftp 20800000 zImage;bootm 20800000   # 启动命令
stdin=serial        # 标准输入
stdout=serial       # 标准输出
stderr=serial       # 标准错误Environment size: 372/16380 bytes

需要在 u-boot 命令行下配置的有:

SMDKC100 # set serverip 192.168.40.77   #改成自己的ip哦
SMDKC100 # set ipaddr 192.168.40.177    # 开发板 IP
SMDKC100 # set gatewayip 192.168.40.1   #网关
SMDKC100 # set bootargs root=nfs nfsroot=192.168.40.77:/opt/filesystem,v3 ip=192.168.40.177 init=/linuxrc console=ttySAC0,115200
SMDKC100 # set bootcmd tftp 20800000 zImage\;bootm 20800000     # ; 使用转义 \;
SMDKC100 # set bootcmd 'tftp 20800000 zImage;bootm 20800000'    # 因为包含 ; 号,所以使用 '' 括住参数
SMDKC100 # save    # 保存以上参数配置

测试开发板与 ubuntu 是否网络相通

SMDKC100 # ping 192.168.40.77 #ping 自己的ip哦

ping过后可能停不下来。正常,重启一下吧。下一次直接输入下面命令
启动系统

SMDKC100 # boot   

三、功能测试

1.播放音乐

  1. ubuntu 复制 madplayer 目录到 /opt/filesystem 下:
sudo cp -R /mnt/hgfs/shared/madplayer /opt/filesystem   
  1. 开发板进入 madplayer 目录,播放歌曲,插耳机听:
  cd madplayer./madplayzhou.mp3

如下所示:《一路向北》
在这里插入图片描述

2…交叉编译

1.在Ubuntu下正常编写一个c程序

vi test.c
//写个程序
//用arm-linux-gcc进行编译
arm-linux-gcc test.c

在这里插入图片描述

2.开发板上运行这个程序

./a.out

如下所示:本来想送你们一个大爱心的,板子不支持这个符号

在这里插入图片描述


总结

在linux学习上又前进了一小步,对于一个一个终端的形成有了更好的理解。bootloader 引导程序,kernel 内核,rootfs 根文件系统。缺一不可,为了提高用户体验的图形界面、应用程序。
点个关注不迷路,S学长会耍酷。


http://www.ppmy.cn/news/699438.html

相关文章

异步电动机特性仿真

——基于《电力电子电机控制系统仿真技术》【例4.4】 一.搭建模型中的问题 1.Parameters中Initial condtions中“slip”为转差率的初始值,一般需设置为“1”,即电机从转速“0”开始启动;若设置为“0”则可观察到初始转速为同步转速&#xf…

基于图层自动识别算法在CAD图纸基础上快速创建Revit BIM模型 - VS2022 + AutoCAD2024 + ObjectARX环境搭建

引言 CAD 技术将建筑师、工程师们从手工绘图推向计算机辅助制图,实现了工程设计领域的第一次信息革命。从 CAD 技术普及以来,设计成果一般都是 CAD 图纸形式表达。但是近些年来,随着建筑的复杂程度日益增加,专业间的配合更加紧密…

javascript的ajax

JavaScript的AJAX(Asynchronous JavaScript and XML)处理是一种用于在后台与服务器进行异步数据交互的技术。它允许你在不刷新整个页面的情况下,通过JavaScript发送HTTP请求,并异步获取服务器返回的数据。 AJAX的实现通常涉及以下…

打开.md格式文件的方式

我们平常偶尔会收到后缀为*.md的文件, md是简称,它的全名为MARKDOWN。MARKDOWN是一种标记语言软件,下载安装MarkdownPad2即可打开。 具体安装参考文章:MarkdownPad2安装汉化与注册码 https://blog.csdn.net/weixin_40612082/art…

md文件打开方式推荐

MD文件介绍 以下介绍来自于百度: md文件是Markdown语法编写的文件,Markdown是一款轻量级的标记语言,可以使用语法来代替排版,插入公式和图片等都非常的容易,目前很多博客都可以使用该语法去编辑。使用Markdown的好处…

怎样方便的查看Markdown.md文件

查看Markdown文件,一个浏览器插件即可解决 例:Win10自带的Edge浏览器 1.查找新扩展 2.在搜索框搜索 “Markdown Viewer” 3.点击右上角的 "m" 小图标, 出现一个配置界面, 点击最下面的高级选项. 4.然后你看到下面的页面, 选择"Allow All", 重…

pdf文件转为md文件

针对Windows 方法一💡 下载Pandoc 由于Pandoc不支持PDF直接转为md形式,先将PDF文档转换为Word形式,再使用Typora将你的Word文件导入。 途径 1 : \textcolor{green}{途径1:} 途径1:🔨 官网下载…

md文件使用

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…