嵌入式开发(一):嵌入式开发新手入门

article/2025/11/9 19:48:29

系列文章:

嵌入式开发(一):嵌入式开发新手入门
嵌入式开发(二):开发板配置(自用)
嵌入式开发(三):海思Hi3559a交叉编译live555
嵌入式开发(四):海思Hi3559AV100交叉编译ffmpeg
嵌入式开发(五):海思Hi3559AV100交叉编译boost
嵌入式开发(六):websocketpp服务端海思交叉编译及使用
嵌入式开发(七):thrift库ubuntu端编译
嵌入式开发(八):makefie文件


本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。

嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过串口或网络下发到嵌入式板卡,程序在嵌入式板卡上运行。

 

1. RS232串口接孔图解

串口,一般也指COM接口,传输速度较慢,适合远距离传输。这里用于主机与嵌入式版之间的数据通信,一般用于指令下发等。按照协议标准还分为RS-232-C、RS-422、RS485等。其中RS-232也是最常用的串口,称为标准串口。下面仅介绍RS-232的的接线图。RS232串口为9针接口,分为公头与母头,PC机上的串口一般为公头,如下图。

 各个针孔功能如下:

最简单的串行接口需要的信号线是2数据发送(TxD)3数据接收(RxD)和5信号地(GnD) ,只需要接通这3根线即可实现上位机PC与嵌入式板的通信,如下图:

 2. 上位机与嵌入式板串口通信工具

一般使用SecureCRT工具进行上位机与板卡通信。

(1)串口连接

打开快速连接

协议选择Serial,端口与波特率根据实际情况而设置,

点击连接,弹出新窗口,敲回车键,出现以下界面表示上位机与板卡连接成功。

(2)使用Telnet连接

Telnet连接就是使用网络(即网线)实现PC机与板卡通信,而不需要串口。

Tlenet新建连接,选择Telnet协议,主机名是板卡的ip。

 点击连接,弹出新窗口,输入用户名和密码:

 

3. 上位机与嵌入式板卡实现文件传输

在SecureCRT中使用命令ifconfig查看板卡的ip地址:

将上位机PC与嵌入式板卡用网线直接连接,将PC机的本地连接ip地址改成与嵌入式板卡同一个网段,例如:

在上位机中打开tftpd32工具,在Server interface中选择上位机与嵌入式板卡相同网段的ip,如下:

注意之类PC机是作为TFTP协议的服务端,板卡作为客户端。

将文件从上位机下载到板卡,在SecureCRT中输入以下命令:

tftp -g -r 1080P.jpg 192.168.1.100

 这里-g表示从PC下载文件到板卡,-r表示远程服务器(即PC)的文件, 1080P.jpg表示要传输的文件,后面的ip地址就是PC机的IP地址,例如:

输入以上命令后,板卡在当前目录下即收到该文件。如果需要在某个目录下接收文件,需要切换到该目录下,再输入以上命令。

将文件从板卡传输到上位机,在SecureCRT中输入以下命令:

tftp -p -l 10801P.jpg 192.168.1.100

这里-p即推送的意思,-l表示本地(板卡)的文件。

 

4. 常用Linux命令

  • 回到根目录:cd /
  • 解压文件:tar -xvf data.tar
  • 删除文件: rm -f 1.txt
  • 改变目录的读写权限:sudo chmod 777 /usr/share/themes

             说明:这里777表示每个用户都可以读写,后面设的是路径

  • 重命名:mv aaa.h264 bbb.h264

             说明:将aaa.h264重命名为bbb.264

  • 查看ip地址:ifconfig
  • 查看文件属性:stat sample_nnie_main
  • 查看当前路径:pwd
  • 创建文件夹:mkdir
  • 更改ip地址:ifconfig eth0 192.168.6.111  (重启后会丢失)

(持续更新)

5. MP4、AVI等转换为*.h264格式

在嵌入式系统中,程序往往无法直接解码mp4,avi等格式视频文件,需将其转换为裸流.h264格式,方法如下:

PC上下载ffmpeg工具,切换到ffmpeg.exe的目录,用cmd打开命令行窗口:

.mp4转.h264:

ffmpeg -i 1920x1080.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 1920x1080.h264

.avi转.h264:

ffmpeg -i 160x120.avi -vcodec h264 -s 160*120 -an -f m4v test.h264

mov转h264

ffmpeg -i test.mov -vbsf h264_mp4toannexb -vcodec copy -an 2.h264 

即在ffmpeg目录下生成所需格式的文件。


http://chatgpt.dhexx.cn/article/1vIr7ihr.shtml

相关文章

嵌入式入门基础知识

文章目录 前言嵌入式基本知识ARM的理解ARM是一家公司一类芯片或产品的统称一项技术的名称,即采用RISC处理器体系架构ARM和intel的区分ARM和STM32的关系 处理器的基本概念MCUMPUDSPFPGA总结 ARM开发MCU开发和MPU开发的区别开源硬件 Arduino 和 Raspberry Pi总结 总结…

宽度学习系统BLS推广到在线学习的论文阅读记录

BELS: A BROAD ENSEMBLE LEARNING SYSTEM FOR DATA STREAM CLASSIFICATION 摘要:这篇文章主要是将BLS推广到适用于在线学习的邻域,提出了其如何进行适合在线学习的增量更新,以及面对概念漂移的适应 所提出的算法BELS 稀疏特征映射的更新 …

超越EfficientNet!MutualNet:一种自适应相互学习网络宽度和分辨率的网络

点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 【导读】今天给大家介绍一篇 ECCV 2020 Oral论文 ,该论文强调了同时考虑网络宽度和输入分辨率对有效网络设计的重要性。…

【AI不惑境】网络的宽度如何影响深度学习模型的性能?

大家好,这是专栏《AI不惑境》的第三篇文章,讲述模型宽度与模型性能的关系。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程&#xff0c…

CSS:宽高自适应详解

宽度自适应的应用 1.属性:width 2.属性值:px/% 3.宽度自适应的特点 - HTML,BODY表示浏览器,默认是块级元素,宽度是100% - 当块级元素不设置宽度或者设置100%的时候,宽度会沾满全屏(通栏效果) - 子级是块级元素,不设置宽度的时候会和父级等…

陈俊龙:从深度强化学习到宽度强化学习—结构,算法,机遇及挑战

来源:AI科技评论 摘要:如何赋予机器自主学习的能力,一直是人工智能领域的研究热点。 强化学习与宽度学习 如何赋予机器自主学习的能力,一直是人工智能领域的研究热点。在越来越多的复杂现实场景任务中,需要利用深度学习…

网络的宽度对深度学习模型的性能影响

目录 1 为什么需要足够的宽度 2,经典网络的第一层的宽度 3,宽度对模型性能的影响 4 如何更加有效地利用宽度 4.1 提高每一层通道的利用率 4.2 用其他通道的信息来补偿 5 经典网络模型宽度设计方法 5.1 采用多分支网络结构设计 1)ResN…

深度学习笔记(七):网络宽度(卷积核个数)的一些想法

文章目录 一、前言二、网络深度的意义三、宽度的意义四、 网络宽度设计4.1 网络宽度的下限在哪?4.2 网络宽度对模型性能的影响4.3 网络宽度和深度谁更加重要? 五、如何加有效地利用宽度?5.1 提高每一层通道的利用率5.2 用其他通道的信息来补偿…

宽度 深度学习 特点对比

宽度 & 深度学习 特点对比 推荐系统模型介绍实验过程与实验结果实验总结 为了提高神经网络的性能,是应该增加宽度呢?还是应该增加深度呢?增加宽度和增加深度各有什么样的效果呢? 本文对论文《Wide & Deep Learning for Re…

为什么是“深度”学习而不是宽度?

为什么是深度而不是宽度? 先说说我个人的理解,如下图所示,圆圈表示神经元,有两种方式。第一种,只有一层神经层,有8个神经元;第二种方式,有两层神经层,分别有2个和4个神经…

宽度学习系统:一种不需要深度结构的高效增量学习系统

宽度学习系统:一种不需要深度结构的高效增量学习系统 本文是对陈俊龙教授团队“Broad Learning System: An Effective and Efficient Incremental Learning System Without the Need for Deep Architecture”的中文综述,原文将在IEEE Transactions on Neu…

网络的宽度如何影响深度学习模型的性能?

大家好,这是专栏《AI不惑境》的第三篇文章,讲述模型宽度与模型性能的关系。 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程&#xff0…

宽度学习代码的一些问题

最近在拜读陈院士的宽度学习论文,受益匪浅,在此先感谢陈院士团队的开源代码! 在复现代码的过程中,发现了一些小问题,在此记录,方便自己日后翻阅。 此博客仅代表个人观点,姑且算作个人读书笔记…

DeepLearning | Broad Learning System 宽度学习系统 : 高效增量式浅层神经网络

Broad Learning System (BLS,宽度学习系统)是澳门大学的陈俊龙教授在2017年TNNLS上基于随机向量函数链接神经网络(RVFLNN)和单层前馈神经网络(SLFN)提出的一种单层增量式神经网络。这个模型相比于传统的深层网络模型,它在保证一定精度的同时,…

宽度学习系统(BLS)的原理、变体形式及当前应用(随时更新......)

ABSTRACT 近年来深度学习迅猛在各个研究领域发展发展,新的模型结构不断涌现,且有层数逐渐加深的趋势。然而深度模型往往有数量过于庞大的待优化参数,通常需要耗费大量的时间和机器资源来进行优化,而且不能根据需求及输入的变化进行…

为什么要做深度学习而不是宽度学习?

点击此处返回总目录 前面在深度学习介绍的最后有留下一个疑问。我们为什么要deep learning。 我们说,变深了,参数增多,model变复杂,performance变好,是很正常的。 所以,真…

宽度学习学习笔记

宽度学习笔记 随机向量函数链接网络(RVFLNN)增强节点权值计算Greville 定理 宽度学习系统(Broad Learning System)数据处理简单BLS增强节点的增量学习特征节点的增量学习输入的增量学习SVD 参考论文: Broad Learning …

宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统

Motivation 深度学习: 1,时间长:由于涉及到大量的超参数和复杂的结构,大多数神经网络的训练过程非常耗时。 2,重新训练:如果要更改神经网络的结构,或者增加样本,深度学习系统将遇到一个完整的重新训练过程。 宽度学习: 1,消除了训练过程长的缺点,并且提供了很好的…

第三十七课.宽度学习

目录 前置内容宽度学习的基本结构:RVFLNN宽度学习系统岭回归 前置内容 深度学习计算量过大,成本过高,因此提出宽度学习(BLS,Broad Learning System)。我们首先要知道,BLS的网络结构不是固定的&…

宽度学习详解(Broad Learning System)

宽度学习(Broad Learning System) 1:Introduction1.1:级联相关网络(本节来自周志华《机器学习》)1.2:随机向量函数连接网络(RVFLNN) 2:宽度学习系统(Broad Learning Syst…