1.大一就开始参加电赛?看学长是野火源码野火咋学的!
2.(未完)ubuntu20.04 qt6.2.4 aarch64 开发编译环境配置
3.MacOS 下交叉编译的下载折腾笔记
大一就开始参加电赛?看学长是咋学的!
电子信息专业的野火源码野火本科生,全国大学生电子设计大赛无疑是下载本科阶段最重要的比赛。教育部最新公布的野火源码野火全国大学生学科竞赛分类名单中,该赛事被列为A类学科竞赛,下载substrate源码分析其认可度极高。野火源码野火竞赛通常在单数年9月举行,下载题目涵盖控制、野火源码野火测量、下载高频和电力电子等多个类别。野火源码野火然而,下载对于大一新生而言,野火源码野火这样的下载竞赛可能显得遥不可及。许多学校本科生无法进入实验室,野火源码野火即便有机会进入,telegram群发源码是否能参与电赛或取得优异成绩,也是未知数。
新生开学季,很多学生会进入实验室学习。电赛通常在暑假举办,大一学生有一年时间准备。那么,参加电赛需要学习哪些知识?如何寻找学习资料呢?以下是几点建议:
1. 数模电的学习:数字电路基础和模拟电路基础是电子专业的基石。无论是控制类、电源类还是仪表类题目,数模电都是必不可少的。大一虽然可能不系统学习,但基础的电路知识仍需了解。
2. 单片机的学习:STM单片机是目前大学生中最热门的单片机之一。虽然学校的WordPress模板兔源码课程可能从单片机开始,但建议直接学习STM单片机。正点原子和野火等品牌在大学生中广受欢迎,其开发板和源码资源丰富,非常适合初学者。
3. 经费:比赛需要一定的经费,建议提前准备。可以提前找到队友,分摊购买成本。实验室经费充足时,部分费用可以报销。
4. 学习资料推荐:
优质UP主:
1. 唐老师讲电赛:提供基础PCB画板教学和历年电赛电源题讲解。
2. 达尔闻:提供嵌入式、FPGA、人工智能等领域的学习资源。
3. 正点原子官方:提供在线教学平台和公众号。javafx多线程源码
4. 野火_firege:提供丰富的嵌入式学习资源。
优质公众号:
1. 大鱼机器人
2. 果果小师弟
3. 达尔闻说
4. 电子芯吧客
5. 芯片之家
6. txp玩linux
7. 最后一个bug
优质论坛:
1. 黑:/
4. 电路城:/
. 野火电子:/
. 正点原子:/
. 电子芯吧客:/
. 云汉电子社区: /
(未完)ubuntu. qt6.2.4 aarch 开发编译环境配置
install QT6
更新
下载安装工具
文件权限
运行在线安装文件
如果遇到问题:
重新安装libxcb-xinerama文件
重新运行
输入账号,然后安装。选择一个版本,如6.2.4整个勾上,然后Next到下载界面。
install opencv
下载opencv
解压到指定文件夹
新建build文件夹,cmake编译
编译程序,编译完成后安装
install eigen
下载eigen release
解压
编译
完成eigen3的安装
QT include opencv eigen项目迁移到ubuntu后的编译中的报错问题
就可以正常启动qt creator了。
解决方法:
通常安装后就能解决问题,如果不行,考虑下面的软链接方法。
详细见 qt构建遇到 cannot find -l xxx 问题_qt cannot find -l-CSDN博客、 Linux的Qt编译出现:-1: error: cannot find -lGL问题的解决方法-CSDN博客
虽然教程是用的野火鲁班猫,但是胖窝网源码方法是通用的
安装cmake及其他
查看cmake版本
关于烧录Raspberry pi Image
树莓派插入SD卡并通电。(使用 Raspberry Pi Imager完成SD镜像烧录。)
可以下载( Ubuntu Lts)作为烧录镜像
Ubuntu server无界面,使用SSH远程访问,使用finalshell:
IP查看tplink中的树莓派IP,端口默认是
QT creator添加Device
添加设备,可以在局域网中找到设备。
打开设置,然后add一个Device
需要填写IP,端口,user name, 如果没有key,就生成一个key file,然后链接,期间需要输入username对应的密码。出现下面窗口就是配置好了。
详细可以看这个链接 7. 远程连接 - [野火]嵌入式Qt应用开发实战指南-基于LubanCat-RK开发板 文档
qt creator kits交叉编译
PC的Ubuntu.中下载交叉编译包 arm-linux-gcc,然后在ARM板卡上部署测试。参考这个网址:
aarch对应教程如下:
3. Qt程序编译 — [野火]嵌入式Qt应用开发实战指南—基于LubanCat-RK开发板 文档 (embedfire.com)
安装交叉编译器:
先看看自己虚拟机(PC)的信息
然后看下嵌入式设备(arm)的信息
针对arm嵌入式系统,使用Ubuntu.系统apt 安装交叉编译器, 其安装命令是
通过这个指令获取就不用下面的操作下载压缩包了,
从网盘获取交叉编译器、Qt库文件(针对aarch平台)、sysroot文件 # 复制文件到虚拟机系统中
查看解压到的位置
查看刚才解压的文件。
安装完了之后在terminal中输入aarch + TAB,如下就是安装成了:
编译源码测试:
先写个c文件交叉编译试试
main.cpp内容:
编译通过后通过file指令查看文件类型是否是ELF:bit LSB shared object,ARM aarch...。如果是,则完成源码编译。
编译后生成了main可执行文件,拷贝到arm平台测试,查看输出:hello world!!!。
Qt编译arm(aarch)环境搭建
下载qt6.2.4源代码,在虚拟机上编译aarch版本的库文件
打开QT Creator,打开kits配置套件
如下添加一个/opt目录下的qmake
添加gcc g++ aarch编译器
添加一个构建套件kit, 如下:
源程序选择构建套件并运行:
在嵌入式设备linux系统上运行编译好的程序:
复制Qt库到板卡,然后设置相应的环境变量,就可以运行程序。 先复制前面编译的Qt程序到板卡,然后简单运行程序:
使用winscp拷贝依赖文件到嵌入式设备上,如树莓派:
解压完成后,设置该库为环境变量
并重新运行程序
如果要永久变更,就在~/.bashrc中写入
终端运行:
板卡上可能要安装一些库
MacOS 下交叉编译的折腾笔记
探索 MacOS 下的交叉编译技巧
本文作为系列 “折腾笔记” 的一部分,旨在以直白的方式展示交叉编译过程中的实际操作,而非追求最佳实践。本教程将为初学者提供一个直观理解交叉编译的基本框架,并在后续篇章中深入探讨基于 Bazel 的交叉编译最佳实践,以及如何在树莓派等目标平台上运行包含深度学习模型的小程序。
值得注意的是,尽管 MacOS 广为人知,但并不等同于 Linux。在 MacOS 上进行交叉编译时,往往面临着一些挑战。例如,某些 TensorFlowLite 提供的交叉编译工具或 Linaro 系列工具仅在 Linux 环境下可用。因此,建议在进行 MacOS 下的交叉编译时,采用 Docker 技术运行 Linux 系统,从而有效绕过这些平台限制。
对于交叉编译的入门理解与实践思路,我们需要明确其本质是利用能将源代码转换为目标平台机器语言的编译器。在进行树莓派等目标平台的交叉编译时,通常需要使用特定于目标架构(如 ARM)的编译器,例如 arm-linux-gnueabihf-gcc。
实际操作中,交叉编译流程可以概括为以下步骤:
1. **依赖环境安装**:利用 Homebrew 等包管理工具安装必要的依赖项。
2. **环境准备**:从树莓派设备上复制相关 gcc 及其配套环境。
3. **环境检查**:确保当前工作目录正确无误。
4. **源代码准备**:编写或获取待编译的源代码文件,如 `hello_cross_comile.cc`。
5. **交叉编译执行**:利用 LLVM 工具链结合 arm-linux-gnueabihf-binutils 进行交叉编译。
6. **构建输出**:运行特定编译脚本(通常封装为 `.sh` 文件)生成目标平台可执行文件(如 `hello`),随后将该文件传输至树莓派等目标平台进行执行。
推荐阅读资源:
4. **[野火]i.MX Linux开发实战指南**:该文档提供了一个全面且详细的交叉编译指南,虽然不直接支持 MacOS,但通过开启 Docker 环境,可以轻松实现 MacOS 下的交叉编译。
Crosstool-ng:尽管这是 MacOS 下公认的交叉编译解决方案,但其操作复杂,且存在系统崩溃风险。对于坚持使用此方案的开发者,可参考他人提供的 Docker 镜像,例如 **Dockfile**,但同样建议考虑使用更易管理的 Linux 操作系统(如 Ubuntu)作为 Docker 容器的基础环境。