当前位置: 首页 > news >正文

政府网站集约化建设6/周口网络推广公司

政府网站集约化建设6,周口网络推广公司,h5生成小程序,请人帮忙做淘宝网站多少钱也是闲着无事买了个芒果派的T113的小板子,因为自己以前搞过Linux,工作也跟Linux相关,本以为可以很快搞好开发环境,结果还是折腾了两个周末,所以就把资料整理下,关键的地方列出来,希望大家少走弯…

也是闲着无事买了个芒果派的T113的小板子,因为自己以前搞过Linux,工作也跟Linux相关,本以为可以很快搞好开发环境,结果还是折腾了两个周末,所以就把资料整理下,关键的地方列出来,希望大家少走弯路。

在这里插入图片描述

编译环境
编译环境的话,基本就是参照芒果派的github:
https://github.com/mangopi-sbc/Tina-Linux

但是这个地方我卡了很久,我反复用Ubuntu虚拟机,docker,各种环境都无法成功,终其原因,还是github太卡了,导致无法下载完整的工程,后面编译就各种报错。

如果大家不愿意用网盘文件(其实初学推荐网盘),非要跟我一样折腾,建议如下:
1、一定要用ubuntu 18.04的版本,不要用其他版本
2、尽量用虚拟机而不是docker,但是据说docker是可以成功的
3、四个需要wget的文件很大,可以单独下载好,放到Tina-Linux目录外备用,这样如果git clone失败,还可以再拷贝进来,节省每次下载的时间。
4、git clone的过程中,如果出现长时间的卡或者失败,建议删了重新git,特别是那个子模块的更新git submodule update --init --recursive,一旦有卡顿,就全部删了重新来,否则就算过去了,后面make还是会报错。删的时候前面四个wget的文件拷出去,后面这块就节省下载时间。

所以这里面最大的坑就是,git clone和git submodule两个命令,一定是看到非常流畅的执行完,而不是停顿或者卡。否则文件不全,后面make大概率出错。

然后环境搭建,有几个帖子,大家可以参考:
《Mangopi MQ-R:T113-s3编译Tina Linux系统》
https://blog.csdn.net/qq_28877125/article/details/126684892

《MangoPi-MQ 麻雀D1s上手教程》Tina系统编译烧录及基础分析
https://whycan.com/p_72297.html

《【嵌入式AI】全志 R329 Tina 系统镜像编译》
https://zhuanlan.zhihu.com/p/392832413

《全志在线文档》
https://www.aw-ol.com/docs
在阅读资料的时候,就看到这个在线文档就很生气,为啥R329,D1啥的都有教程,T113就没有呢,不是亲儿子吗,哈哈哈,不过有许多步骤是通用的,大家参考就好。

编译选项
对于从来没有开发过linux的同学来说,git,make这些命令就够吃一壶了,何况是make menuconfig这么复杂的东西。所以我们只需要知道敲入make menuconfig命令后,出现的界面只是为了改变我们内核的配置项就可以了。对于初次入手,我们不需要动这个地方,直接make就行,先跑起来再说。

编译的时候,直接敲入:

make FORCE_UNSAFE_CONFIGURE=1

什么多进程编译咱先不管,能编出来再说,如果不加上面那个FORCE_UNSAFE_CONFIGURE=1,会报错,加了就没事了

烧录
烧录真的是个大坑,首先,建议大家先拿芒果派现成的固件走一下烧录和开机流程,避免因为自己编译的固件有问题导致后面失败,而且还不知道为什么。

现成的固件
MQ-R-T113(RTL8189): https://mangopi.org.cn/_media/undefined/mq-r-t113-rtl8189fs-5113-dns-uart0.zip
MQ-R-T113(RTL8723): https://mangopi.org.cn/_media/undefined/mq-r-t113-rtl8723ds-5135-dns-uart0.zip

烧录的话,我们可以看到官网视频介绍了好几种工具,什么PhoeniSuit、PhoenixCard、PhoenixUSBPro,还有什么烧号工具DragonSN。搞得我一头雾水。后面我才整明白,芒果派这个T113的板子上没有焊接SPI NAND FLASH,所以这些量产工具根本用不到。我烧录系统,只需要PhoenixCard一个工具就行了,其他的都用不上,大家不要走弯路。

PhoenixCard下载地址:https://www.aw-ol.com/downloads?cat=5

PhoenixCard这个工具很简单,就是根据我们打包好的镜像配置,给TF卡分若干个区,然后把对应的boot,rootfs写进对应的区里。弄完之后,从pc读卡器上拔掉TF卡,插到T113的卡槽里,就可以启动Tina了。

PhoneixCard视频教程:(直接跳到11:25开始看,其他的没用)
https://open.allwinnertech.com/#/video/open?menuID=17&videoId=380

关于PhoenixCard有几个要点:
1、记得选启动卡选项,而不是量产卡。
2、用PhoenixCard生产的卡,如果后面不给TIna用了,还是用这个工具去恢复TF卡,否则电脑不认。

启动
Tina的启动过程比较复杂,有兴趣的可以看下面这个视频:
https://open.allwinnertech.com/#/video/open?menuID=17&videoId=297

懒得看视频,听我说也行。其实linux系统启动都一样,先启动uboot,大家可以理解为uboot就是一个启动器,负责将屋子收拾干净,等后面linux系统进来入驻。

我们需要用串口连接板子上的E2,E3,GND,可以用usb-ttl工具去连,于是电脑上就可以通过usb-ttl看到T113串口输出的信息了。为什么是E2、E3两个脚充当RX、TX,大家看一眼电路图就知道了,这两个脚就是默认的T113的串口0,系统打印就是从这里收发的。

当系统启动的时候,我们不停的在串口终端上敲键盘的2键,就可以让其停在uboot步骤下,并且可以下发uboot的指令去拉起内核啥的,这个有兴趣大家自己研究,uboot教程网上一大堆。

在Tina的uboot里,有个efex命令,就是可以让系统进入量产状态,这样就可以使用PhoeniSuit工具量产固件,但是这个量产状态,是为spi nand flash准备的,芒果派的板子上根本没有spi nand flash,所以这个量产状态对我们而言压根没用。我们是用SD卡启动的。就这个点,我开始一直没明白,各种量产失败,直到后面才恍然大悟,特别坑。

当然芒果派上面有spi nand flash的焊盘,大家可以自己买一个焊上去,型号我还没空查,有试过的可以给我留言,我补充上去。

Tina的启动流程里,在uboot之前还有个boot0,这个boot0就是为了拉起uboot的。大家可以理解两个峡谷之间搭悬索桥,就是先拉一个风筝线,然后再用风筝线拉粗一点的绳子,再用粗的绳子拉钢索。boot0拉uboot,uboot拉tina,其实是一个道理。之所以搞这么多层,主要还是怕某个过程烧写错了,板子变砖。因为boot0的存在,且是固化到CPU里的,所以T113永远不会变砖,大概是这个意思。但是因为我们是SD卡启动的,所以上面这些可以不管,我们玩我们的就好。

连接wifi
只要系统能正常启动,连接wifi还是比较简单,就几条命令而已,可以参照R329的官方资料:
https://r329.docs.aw-ol.com/devboardstudy/r329evb5studywifi/

搜索wifi:wifi_scan_results_test
连接wifi:wifi_connect_ap_test wifi名 密码(参数有空格的哈)
连上之后,可以用ifconfig命令查看自己的ip地址,也可以通过ping命令测试连通性。

PC驱动
板子启动后,我感觉有两种驱动,如果是量产状态,有个量产对应的设备驱动,这个我们可以不管。但是如果进了Tina系统,会有一个ADB驱动,需要大家安装,这样后面用ADB工具可以推送我们编译好的helloword到板子。

驱动下载地址:https://www.aw-ol.com/downloads?cat=5
下那个PhoeniSuit工具,里面有个Drivers目录,就有ADB驱动,插上板子到PC,设备管理器弹出感叹号,然后自己装就行了。
”ADB(tab自动补全版)“也下载下来,后面用它跟板子做文件交互。

总结
今天就写这么多吧,也是这两个礼拜折腾T113的总结,希望大家少走点弯路。其实我玩的板子很多,包括目前的工作,也是在高通和Realtek的平台上跑Linux,包括stm32,FreeRTOS还有lwip,玩了都十来年了。那为什么我选T113呢,我觉得有这么几个原因:
1、我需要一个板子,有时候帮我验证下linux小应用,树莓派我嫌太大了
2、T113不是BGA封装,如果想自己搞点开源项目,对PCB的压力比较小
3、说实话什么AI啊,机器学习啊,离我比较远,这些玩意都是大厂才玩得起的,我们个人学习,除非是这个行业,否则没必要跟着凑热闹,搞个学习模型都累死,搞完了也不知能干啥,板子放着落灰。我的学习重心主要还是做一些开源的物联网应用,远程浇个花,统计下上报的环境数据,搭建一些远程服务器啥的,都是比较实用的东西,感觉离实用性更近一点。

后面有空再补充交叉编译和分区,io操作吧,我自己也在熟悉,祝大家玩的愉快!

原贴链接:https://bbs.aw-ol.com/topic/2495/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全志及开发者最新动态可以关注全志在线微信公众号

相关文章:

全志T113-S3入门资料汇总(避坑指南)一

也是闲着无事买了个芒果派的T113的小板子,因为自己以前搞过Linux,工作也跟Linux相关,本以为可以很快搞好开发环境,结果还是折腾了两个周末,所以就把资料整理下,关键的地方列出来,希望大家少走弯…...

3dMax全球学习资源、资源文件和教程 !

此样例教育教程和学习资源旨在提供使用Autodesk 3ds Max时的计划知识和培训、正确的工作流、流程管理和最佳实践。 您在Autodesk三维设计领域的职业生涯 有关使用3ds Max和Maya在计算机图形领域开始职业生涯的提示(包括新的3ds Max和Maya介绍教程,以复…...

API接口是什么?有哪些免费的API接口?

API(接口)是什么? 举个常见的例子,在京东上下单付款之后,商家选用顺丰发货,然后你就可以在京东上实时查看当前的物流信息。京东和顺丰作为两家独立的公司,为什么会在京东上实时看到顺丰的快递信…...

USB Server应用于汇丰晋信基金

为了满足UKey远程连接调用、安全集群管理需求,汇丰晋信基金选择了朝天椒USB Server作为其解决方案。朝天椒USB Server以其卓越的性能和可靠性,为汇丰晋信基金提供了稳定的Ukey连接管理服务。这一选择不仅提高了汇丰晋信基金的工作效率,还保障…...

[BSidesCF 2019]Kookie 1 , cookie伪造

给了一个用户和密码 用户名:cookie 密码:monster 登录后查看cookie 发现就是用户名维持登录 那么修改用户名为 admin 得到flag...

如何查看MySQL的安装位置

MySQL的安装位置 1、查看安装目录 参数 路径 解释 备注 --basedir /usr/bin 相关命令目录 mysqladmin mysqldump等命令 --datadir /var/lib/mysql/ mysql 数据库文件的存放路径 --plugin-dir /usr/lib64/mysql/plugin mysql插件存放路径 --log-error …...

ui设计岗位招聘要求有哪些? 优漫动游

UI设计师的工作是接到使用者轮廓、线框草稿后,创造出好看、好用的画面,视情况会搭配VisualDesigner(视觉设计师),不过偶尔还是需要自己做图,包含插图、icon绘制等;透过设计过的画面,…...

Swift报错:“‘nil‘ is incompatible with return type ‘User‘”

func getUserById(userId: Int) -> User {if (userId ! nil) {...}return nil } 上述代码报了一个错误:“nil is incompatible with return type User”,表示“nil”与返回类型“User”不兼容。 解决方案: 将返回值类型改为Optional类型…...

LabVIEW利用局部放电分析高压电气设备状态诊断

LabVIEW利用局部放电分析高压电气设备状态诊断 目前,高压电气设备状态的监控系统解决了早期故障检测的问题。局部放电起源于电力电气装置的绝缘。局部放电会导致绝缘层逐渐磨损和加速老化,因此可能导致绝缘完全击穿。因此,局部放电检测及其特…...

TCP/IP UDP广播无法发送或接收

TCP/IP UDP广播无法发送或者接收数据 在看《TCP/IP 网络编程》这本书的时候,看到广播那一节,跟着书上写代码,怎么写都不行,广播就是没法发送/接收,发送端一直在发送数据,接收端就是没有反应。 对了好几遍…...

清理Maven仓库中下载失败的文件

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

服贸会2023 | 希尔贝壳入选“智赋百业”人工智能融合发展与安全应用典型案例

9月6日,服贸会(中国国际服务贸易交易会)“2023人工智能融合发展与安全应用”论坛在国家会议中心举行,论坛由国家工业信息安全发展研究中心、世界贸易网点联盟主办,旨在促进人工智能领域贸易合作,充分发挥人…...

axios请求多个服务器

在此之前, 请求的服务器需要后端设置可跨域 此文章中主要有两种方案: const apis {api1: http://aaa.com/,api2: http://bbb.com/ }(1) 把baseURL置空不设置, 定义一个新的axios const service axios.create({timeout: 300000, // 5分钟 })把完整的url链接放入到请求中 ex…...

vs2022不能加载winform界面

今天遇到vs2022加载winform界面错误, The service ‘Microsoft.VisualStudio.Shell.Design.Serialization.DesignerDocDataService’ must be installed for this feature to work。 当前vs版本: Microsoft Visual Studio Enterprise 2022 (64 位) - Cur…...

CMakeList.txt

CMakeList.txt的写法 前言一个最近写好的CMakeList.txt对上边CMakeList.txt的说明修改 前言 复习一下CMakeList.txt的写法,以下面的一个CMakeList.txt为例 一个最近写好的CMakeList.txt cmake_minimum_required(VERSION 3.17)project(QtVTKProject)# INCLUSION OF Qt # set(…...

华为云使用脚本初始化Linux数据盘

初始化新挂载的磁盘 登录云服务器,执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 说明: 若回显异常,请检查云服务器是否绑定弹性公…...

leetcode 129. 求根节点到叶节点数字之和

2023.9.8 好久没写回溯题了,有点陌生ToT。 本题思路就是通过回溯保存所有根节点到叶子节点的路径,然后将这些路径转化为数字并全部相加。 直接看代码: /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tre…...

嵌入式开发-11 Linux下GDB调试工具

目录 1 GDB简介 2 GDB基本命令 3 GDB调试程序 1 GDB简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说,GDB主要帮助你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序&#…...

Java测试(11) --- selenium

测试用例方法以teat_开头 运行脚本的时候默认自动会运行test_开头的方法普通方法不以test_开头 普通方法被test_开头的方法调用的时候才会运行测试套件,把不同文件里的不同类里面的不同的测试方法组织起来放在一起运行(1)addTest 把不同…...

vue3 defineExpose 显示的指定组件需要暴露的属性

简介&#xff1a; 是 vue3 新增的一个 api &#xff0c;用在 <script setup>中使用&#xff0c;用于显示的把组件的属性和方法暴露出来。可用于父子组件通信&#xff0c;子组件使用 defineExpose 将自身的方法或者属性暴露出去&#xff0c;父组件中通过 ref 获取子组件 D…...

算法通关村第十七关:黄金挑战-跳跃游戏问题

黄金挑战-跳跃游戏问题 1. 跳跃游戏 LeetCode 55 https://leetcode.cn/problems/jump-game/ 思路分析 关键是判断能否到达终点&#xff0c;不用管每一步跳跃到哪里&#xff0c;而是尽可能的跳跃到最远的位置 看最多能覆盖到哪里&#xff0c;只要不断更新能覆盖的距离&#x…...

Git GitHub GitLab

1、Git Git是一个开源的分布式版本控制系统&#xff0c;是一种工具软件&#xff0c;用于代码的存储和版本控制。 2、GitHub GitHub是一个基于Git实现的在线代码仓库&#xff0c;是目前全球最大的代码托管平台。 3、GitLab GitLab也是一个基于Git实现的在线代码仓库&#x…...

前端的规范

假如团队中的小伙伴在提交代码时没有遵循规范要求&#xff0c;只写了一个"fix"或"update&#xff0c;这会给其他小伙伴造成困扰&#xff0c;不得不花时间查看代码和推测逻辑。 不仅会浪费了时间和精力&#xff0c;可能会导致项目以下问题&#xff1a; 可读性差…...

嵌入式软件有限状态机的 C 语言实现

状态机模式是一种行为模式&#xff0c;通过多态实现不同状态的调转行为的确是一种很好的方法&#xff0c;只可惜在嵌入式环境下&#xff0c;有时只能写纯C代码&#xff0c;并且还需要考虑代码的重入和多任务请求跳转等情形&#xff0c;因此实现起来着实需要一番考虑。 近日在看…...

面试题常考:LRU缓存

题目&#xff1a; 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&…...

Redis 教程 - 持久化

Redis 教程 - 持久化 在 Redis 中&#xff0c;持久化是指将数据从内存保存到磁盘上&#xff0c;以便在重启或服务器故障后仍能恢复数据。Redis 提供了两种持久化方式&#xff1a;RDB&#xff08;Redis Database&#xff09;和 AOF&#xff08;Append-Only File&#xff09;。本…...

2023 大学生数学建模竞赛-C题-第一问

题目&#xff1a; 在生鲜商超中&#xff0c;一般蔬菜类商品的保鲜期都比较短&#xff0c;且品相随销售时间的增加而变差&#xff0c; 大部分品种如当日未售出&#xff0c;隔日就无法再售。因此&#xff0c;商超通常会根据各商品的历史销售和需 求情况每天进行补货。 由于商超销…...

设计模式3 观察者模式

一 观察者模式 1.1 概述 观察者模式是一种行为模式&#xff0c;又称之为“发布/订阅”模式&#xff0c;在该模式中被观察的对象叫主题&#xff0c;依赖主题的对象被称为观察者&#xff0c;当主题发生改变时&#xff0c;会通知所有观察者进行更新。多个对象存在一对多的关系&a…...

如何防止网络安全攻击

为了防止网络安全攻击&#xff0c;以下是一些常见的防御措施和建议&#xff1a; 使用强密码&#xff1a;确保使用足够长、复杂且随机的密码&#xff0c;并定期更改密码。不要在多个账户中重复使用相同的密码。 更新和修补软件&#xff1a;定期更新操作系统、应用程序和安全补丁…...

怎么从0到1实现一个PHP框架?

写在前面 本人开发的框架在2021年年初开发完成&#xff0c;后面没有再做过任何维护和修改。是仅供大家参考交流的学习项目&#xff0c;请勿使用在生产环境&#xff0c;也勿用作商业用途。 框架地址&#xff1a; https://github.com/yijiebaiyi/fast_framework 整体思路 开发…...