系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例)
本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544
开发环境搭建
1、安装交叉编译工具链
安装步骤:
1. 在ubuntu的家目录(~)下,创建toolchain
mkdir toolchain
2. 拷贝gcc-4.9.4.tar.xz到toolchain目录下
(gcc-4.9.4.tar.xz文件在文章开头的链接获取)
3. 解压缩交叉编译工具链
tar -vxf gcc-4.9.4.tar.xz
4. 配置环境变量
sudo vi /etc/bash.bashrc
在最后一行添加以下内容:
export PATH=$PATH:/home/hq/toolchain/gcc-4.9.4/bin/
注意:红色加粗部分改为你自己的用户名
5. 使环境变量立即生效
source /etc/bash.bashrc
2、配置tftp服务
(1)检查Ubuntu是否安装tftp服务
sudo dpkg -s tftpd-hpa
打印以下内容表示安装了tftp服务,此时跳过第二步直接看第三步配置tftp:
Architecture: i386
Source: tftp-hpa
Version: 5.2-7ubuntu3.1
(2)安装tftp服务
sudo apt-get update 更新源
sudo apt-get install -f 更新依赖
sudo apt-get install tftpd-hpa tftp-hpa 下载安装指令
(3)配置tftp服务
1. 在家目录下创建一个tftpboot文件夹
mkdir tftpboot
目的:tftpboot目录下存放的是你要下载到开发板上的可执行文件
2. 修改tftpboot的权限
sudo chmod 777 tftpboot
3. 配置tftp服务的环境变量
sudo vi /etc/default/tftpd-hpa
修改以下内容:
1 # /etc/default/tftpd-hpa
2
3 TFTP_USERNAME="tftp" tftp用户名,不需要修改
4 TFTP_DIRECTORY="/home/hq/tftpboot"tftp服务下载文件的存放的路径,需要修改改成自己的对应的tftpboot的路径(将hq改为自己的用户名即可)
5 TFTP_ADDRESS="0.0.0.0:69"tftp服务默认使用的69端口号
6 TFTP_OPTIONS="-c -s -l" tftp服务的参数,这个需要修改
4. 重启tftp服务
sudo service tftpd-hpa start 启动TFTP服务
sudo service tftpd-hpa restart 重启TFTP服务
3、配置nfs服务
(1)检查nfs服务是否安装
如果已安装,跳过第二步看第三步
dpkg -s nfs-kernel-server
(2)安装nfs服务
sudo apt-get install nfs-kernel-server
(3)配置nfs服务
1. 在家目录下创建nfs文件夹
mkdir nfs
2. 修改文件权限
chmod 777 nfs
3. 拷贝根文件系统镜像到nfs目录下
根文件系统文件:rootfs-A53-ok.tar.xz(文件在文章开头的链接获取)
4. 对根文件系统的压缩包进行解压缩
cd ~/nfs
tar -vxf rootfs-A53-ok.tar.xz
5. 配置 nfs服务的环境变量
sudo vi /etc/exports
在文件的最后一行添加以下内容:
/home/hq/nfs/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)
// 还是将hq改成自己的用户名即可
6. 重启nfs服务
sudo service nfs-kernel-server start 启动nfs服务
sudo service nfs-kernel-server restart 重启nfs服务
4、配置Windows、linux、开发板处于同一局域网
注意配置时关闭Windows防火墙,退出杀毒软件

(1)配置Windows的网络及ip地址




设置固定IP

(2)配置linux的网络ip


左上角 虚拟机->设置

设置固定IP:

(3)配置开发板ip
配置开发板网络:uboot指令设置环境变量的值
setenv ipaddr 192.168.1.99 //设置开发板ip
setenv netmask 255.255.255.0 //掩码
setenv gatewayip 192.168.1.1 //网关
setenv serverip 192.168.1.66 //服务器地址,填linux的ip
saveenv //保存
系统移植
思路
uboot镜像---------->Flashlinux内核镜像------>Flash
根文件系统镜像----->Flash
先将镜像使用tftp下载到内存,
再从内存中搬移到flash中,
启动时,再从flash中搬移到内存,
再从内存中启动
移植步骤
0、通过SD卡的方式启动uboot,进入FS6818界面
1、将三段镜像代码放到tftpboot文件中
cp /mnt/hgfs/share/ubootpak.bin /home/hq/tftpboot
cp /mnt/hgfs/share/uImage /home/hq/tftpboot
cp /mnt/hgfs/share/ramdisk.img /home/hq/tftpboot
修改文件权限为最大:
chmod 777 ubootpak.bin
chmod 777 uImage
chmod 777 ramdisk.img
2、移植uboot
tftp 0x48000000 ubootpak.binupdate_mmc 2 2ndboot 0x48000000 0x200 0x78000
3、移植内核镜像ulmage和radisk.img
tftp 0x48000000 uImage
mmc write 0x48000000 0x800 0x4000
tftp 0x48000000 ramdisk.img
mmc write 0x48000000 0x20800 0x20800
4、设置 bootcmd命令,从flash中启动系统
setenv bootcmd mmc read 0x48000000 0x800 0x4000\;mmc read 0x49000000 0x20800 0x20800\;bootm 0x48000000 0x49000000saveenv
5、设置 自启动的参数 bootargs
setenv bootargs root=/dev/ram rw initrd=0x49000040,0x1000000 rootfstype=ext4 init=/linuxrc console=ttySAC0,115200saveenv
设置好了上电重启,完成启动。
相关文章:
系统移植 (以将Linux系统移植到S5P6818开发板为例)
(本篇文章以将Linux系统移植到S5P6818开发板为例) 本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544 开发环境搭建 1、安装交叉编译工具链 安装步骤: 1. 在ubuntu的家目录(~)下,创建t…...
超长正整数的加法
一、引言 在计算机科学中,整数加法是一个基础且重要的操作。然而,当面对超长正整数(即超出计算机内置整数类型表示范围的整数)时,传统的整数加法方法便不再适用。超长正整数通常使用字符串或数组来表示,每…...
C++ - 查找算法 和 其他 算法
目录 一. 查找算法: 1.顺序查找: 2.二分查找: 二. 其他算法: 1.遍历算法: 2.求和、求平均值等聚合算法。 a.求和算法: b.求平均值算法: 一. 查找算法: 1.顺序查找࿱…...
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端
字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式在 Qt 4 及早期版本中广泛使用,但这种方法确实存在一些缺点,主要包括以下几点: 类型安全性缺失:由于 SIGNAL 和 SLOT 宏接受的是字符串参…...
Kali linux学习入门
Kali linux学习入门 文章目录 Kali linux学习入门Kali Linux简介Kali Linux工具篇Kali Docker安装Docker 更换国内镜像源Kali 安装 docker compose Kali Linux文档篇Kali Linux 社区篇 Kali Linux简介 Kali Linux是专门用于渗透测试linux操作系统,它由BackTrack发展…...
selenium中,怎么判断是否已选多选框
html文件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><p>测试勾选</p><div><input type"checkbox" name"b…...
WindowManager相关容器类
窗口中容器类介绍: 本节内容较多,建议结合前面的内容一起阅读: 1、addWindow的宏观概念 2、WindowManager#addView_1 3、WindowManager#addView_2 1)、WindowContainer: class WindowContainer<E extends WindowC…...
零售行业运营有哪些业务场景?详解各业务场景的分析指标和维度
在当今这个数字化迅速发展的时代,零售行业正经历着前所未有的变革。传统的零售模式正在被新兴的技术和创新的业务场景所颠覆,消费者的需求和购物习惯也在不断地演变。零售行业的运营,作为连接消费者、产品和市场的关键环节,对于零…...
无锡哲讯携手SAP,赋能装备制造业数字化转型
在当今快速发展的工业4.0时代,装备制造业作为国民经济的重要支柱,正面临着前所未有的机遇与挑战。无锡哲讯智能科技有限公司凭借其深厚的行业经验和专业的SAP实施能力,为装备制造业提供全面的数字化解决方案,助力企业实现智能化、…...
TPM仿真环境搭建
文章目录 背景及注意事项一、CMake二、m4三、GNU MP Library四、TPM_Emulator五、TSS协议栈(trousers-0.3.14.tar.gz)六、 tpm-tools七、查看是否安装成功八、测试 TPM环境(需要开三个终端分别运行)8.1 启动TPM (第一个…...
提高篇(五):使用Processing创作互动艺术:从灵感到实现
提高篇(五):使用Processing创作互动艺术:从灵感到实现 引言 互动艺术将观众从被动的观察者转变为主动参与者,通过创意编程和技术手段,让艺术品具备感知和回应的能力。Processing作为一种强大的创意编程工具,提供了丰富的功能和灵活的编程环境,帮助艺术家和设计师实现他…...
华为od-C卷100分题目-3用连续自然数之和来表达整数
华为od-C卷100分题目-3用连续自然数之和来表达整数 题目描述 一个整数可以由连续的自然数之和来表示给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式 输入描述 一个目标整数T(1<T<1000) 输出描述 该整数的所有表达…...
Chrome 自动执行 JS 脚本 | Tampermonkey 插件
文章目录 第 1 步:安装插件 Tampermonkey第 2 步:固定到工具栏第 3 步:在网站上启用 Tampermonkey第 4 步:查看效果第 5 步:调试 JS 代码😂 背景:有个网站,每次进去都要点 3 次才能把相关页面展开。而且,页面经常会自己刷新,导致展开的页面又收回去了。【这一天天的…...
ffmplay 源码解读
stream_open 讲解 // 定义一个静态函数用于初始化并返回VideoState结构体指针,用于管理播放状态 static VideoState* stream_open(const char* filename, AVInputFormat* iformat) {VideoState* is; // 创建VideoState结构体指针// 分配内存并初始化VideoState结构…...
java web如何调用py脚本文件
Controller public class IndexController {RequestMapping("/pythonTest")ResponseBodypublic String pythonTest(){// 假设你的Python脚本名为script.pyString pythonScriptPath "D:\\project\\c1\\hello.py";ProcessBuilder processBuilder new Proce…...
K8s:无状态
无状态服务 无状态服务是指服务的实例之间没有持久化状态,每个实例都是相同的,可以互换使用。 调度器 ReplicationController 简称 RC是 Kubernetes 早期版本中用来确保 Pod 副本始终运行的 API 对象。它通过监控 Pod 副本的数量,确保任何…...
Docker 入门篇(九)-- 使用 Maven 插件 构建 Docker 镜像
在这篇教程中,我们将学习如何使用 Maven 插件为 Spring Boot 应用构建 Docker 镜像。我们将使用 spring-boot-maven-plugin 和 dockerfile-maven-plugin 这两个插件。 一、前提条件 已安装 Docker。已安装 JDK 8 或以上版本。已安装 Maven。 二 创建一个 Spring …...
网络协议三
数据中心 一、DNS 现在网站的数目非常多,常用的网站就有二三十个,如果全部用 IP 地址进行访问,恐怕很难记住 根 DNS 服务器 :返回顶级域 DNS 服务器的 IP 地址 顶级域 DNS 服务器:返回权威 DNS 服务器的 IP 地址 …...
LeetCode LRU缓存
题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,…...
Parallels Desktop for Mac 19.4.0更新了哪些内容?有什么改进?
带来了重新设计的共享 Mac 文件夹版本,这些文件夹现在是符号链接,像指针一样指向您的 Mac 文件夹中的文件,同时仍然显示在 Windows 的本地磁盘上。 修复了由于共享文件夹问题导致 NinjaTrader 无法正常启动的问题。 修复了由于共享文件夹问…...
开源可部署!PyTorch 2.8 RTX 4090D镜像在企业AIGC生产环境落地实践
开源可部署!PyTorch 2.8 RTX 4090D镜像在企业AIGC生产环境落地实践 1. 为什么选择这个深度学习镜像 在当今AI技术快速发展的背景下,企业面临的最大挑战之一是如何快速搭建稳定高效的AI开发环境。传统方式需要手动配置CUDA、PyTorch和各种依赖库&#x…...
实战指南:基于快马平台与Touchgal,从零开发移动端手写绘图应用
今天想和大家分享一个实战项目:基于Touchgal开发移动端手写绘图应用。这个项目特别适合需要复杂手势交互的场景,比如绘图软件、地图导航等。下面我会详细介绍整个开发流程和关键实现点。 项目初始化与环境搭建 首先需要创建一个基础的HTML5项目结构。画…...
Google 地图事件:探索、挑战与未来展望
Google 地图事件:探索、挑战与未来展望 引言 Google 地图作为全球最受欢迎的地图服务之一,自2005年推出以来,已经深入到人们生活的方方面面。然而,在这段时间里,Google 地图也经历了一系列事件,包括技术挑战、政策争议以及市场竞争等。本文将围绕这些事件,对 Google 地…...
EdisonZhou
AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...
如何用Wi-Fi信号实现非接触检测:ESP-CSI完整指南
如何用Wi-Fi信号实现非接触检测:ESP-CSI完整指南 【免费下载链接】esp-csi Applications based on Wi-Fi CSI (Channel state information), such as indoor positioning, human detection 项目地址: https://gitcode.com/GitHub_Trending/es/esp-csi 想要让…...
MediaPipe人脸检测避坑指南:如何优化检测精度与性能(含模型选择建议)
MediaPipe人脸检测实战优化:从参数调优到模型部署的完整指南 人脸检测作为计算机视觉的基础任务,其性能直接影响后续的面部分析效果。MediaPipe提供的轻量级解决方案在移动端和边缘设备上表现出色,但实际应用中常遇到误检、漏检或性能瓶颈问题…...
思源宋体CN终极指南:7款免费商用字体一站式解决方案
思源宋体CN终极指南:7款免费商用字体一站式解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目寻找高质量中文字体而烦恼吗?思源宋体CN字体…...
TinyUPnP:嵌入式设备轻量级UPnP端口映射实现
1. TinyUPnP:面向嵌入式平台的轻量级UPnP IGD客户端实现 TinyUPnP 是一个专为资源受限嵌入式系统设计的极简 UPnP(Universal Plug and Play)Internet Gateway Device(IGD)客户端库,核心目标是 在无用户干预…...
VS Code 通义灵码:从安装到实战编码的全方位指南
1. 通义灵码:你的AI编程助手 第一次听说通义灵码时,我正在为一个Python项目焦头烂额。那是一个需要处理大量数据清洗的脚本,我写了半天还是觉得效率太低。同事随口说了句"试试通义灵码吧",没想到这个决定让我少加了三天…...
SAR成像系列:【10】合成孔径雷达(SAR)波数域(omega-K)算法实战:从理论到Matlab实现
1. 波数域算法:为什么它是SAR成像的"瑞士军刀"? 第一次接触omega-K算法时,我被它优雅的数学表达和精确的成像效果震撼到了。这种算法在业内有个更直白的名字——距离徙动算法(Range Migration Algorithm)&am…...
