ubuntu16.04 交叉编译 mbedtls
在为客户交叉编译项目时需要依赖 mbedtls, 客户的机器是 arm64 的 ubuntu 16.04, 交叉编译过程中遇到几个问题。
首先, mbedtls 需要依赖 python, 在 cmake 的过程中, 如果不是使用系统默认的 cmake 可能会导致,mbedtls 在执行 cmake 的过程中选择与预期不符的 python 版本,导致安装的 jinja2 和 jsonschema 在以安装的情况下仍然找不到
另外一个问题是, ubuntu 16.04 上默认的版本是 python 3.5 ,而这个版本是不支持 jsonschema 的,所以需要安装 python 3.6。
首先安装交叉编译工具链
$ apt-get update
$ apt-get install gcc-aarch64-linux-gnu
安装 python 3.6
$ cd /opt
$ wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
$ tar -xvf Python-3.6.3.tgz
$ cd Python-3.6.3
$ ./configure
$ make
$ make install
检查 python3.6 是否安装成功
$ python3.6 -V
Python 3.6.3
安装 jinja2 和 jsonschema, 此处注意需要使用 pip3.6 安装
pip3.6 install jsonschema
pip3.6 install jinja2
mbedtls 交叉编译
$ git clone https://github.com/Mbed-TLS/mbedtls.git && cd mbedtls && git checkout tags/v3.3.0
$ mkdir build && cd build
$ cmake -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DENABLE_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/opt/ ..
$ make && make install
note: cmake 执行的过程中需要关注下找到的 python 的版本,需要是 3.6 才能保证正常的交叉编译

相关文章:
ubuntu16.04 交叉编译 mbedtls
在为客户交叉编译项目时需要依赖 mbedtls, 客户的机器是 arm64 的 ubuntu 16.04, 交叉编译过程中遇到几个问题。 首先, mbedtls 需要依赖 python, 在 cmake 的过程中, 如果不是使用系统默认的 cmake 可能会导致,mbedt…...
基于遗传算法优化的直流电机PID控制器设计
PID控制器是工业控制中常用的一种控制算法,通过不断调节比例、积分和微分部分来实现对系统的稳定控制。然而,在一些复杂系统中,传统的PID参数调节方法可能存在局限性。本文将介绍一种基于遗传算法优化的直流电机PID控制器设计方法,…...
大数据-之LibrA数据库系统告警处理(ALM-12036 license文件即将过期)
告警解释 系统每天零点检查一次当前系统中的license文件,如果当前时间距离过期时间不足60天,则license文件即将过期,产生该告警。 当重新导入一个正常license,告警恢复。 说明: 如果当前集群使用节点数小于等于10节…...
关于Android Studio中开发Flutter配置
配置系统环境变量:path下 ,flutter的bin目录下 File->Settings->Languages&Frameworks->FlutterFile->Settings->Languages&Frameworks->DartFile->Settings->Languages&Frameworks->Android SDK 确认是…...
大容量疯了!居然想把磁带放到硬盘,100TB+是否可以实现?
1.引言 上一篇关于大容量硬盘的文章(HDD最后的冲刺:大容量硬盘的奋力一搏)中,我们针对大容量硬盘研发状态,小编最近又有了新发现。WDC希望可以通过HDD和磁带结合,把盘的容量提升到100TB。 2.数据大爆炸的…...
C++之map的介绍
C之map的介绍 1。定义和初始化 map可以使用一对<key, value>来初始化,如下所示: std::map<int, std::string> my_map { {1, "one"}, {2, "two"}, {3, "three"} };这将创建一个map,其中键是整数&…...
非常好用的组件库【semi.design】
文章目录 前言semi.design是什么?怎么使用?设计稿转代码后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端系列文章 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不…...
Semantic-Guided Zero-Shot Learning for Low-Light ImageVideo Enhancement
论文阅读之无监督低光照图像增强 Semantic-Guided Zero-Shot Learning for Low-Light Image/Video Enhancement 代码: https://github.com/ShenZheng2000/SemantiGuided-Low-Light-Image-Enhancement 在低光条件下增加亮度的一个可行方法是使用更高的ISO或更长时间…...
分享Python的十大库,这你一定得知道!
文章目录 前言关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 Python为我们提供了非常完善的基础库&#…...
react: hooks
useState useState的作用是是变量具有响应式,改变值页面可以同步变化 import { useState, useEffect } from "react";// 当前状态和一个让你更新它的函数 ; 参数为状态初始值 const [initLoading, setInitLoading] useState(true);// 任意地…...
Flink(二)【Flink 部署模式】
前言 今天是Flink学习的第二天,我的心情异常的复杂哈哈哈(苦笑),学习上还是比较顺利的,感情上我并不擅长,所以心情波动大在所难免。害,至少还有学习让我不被各种糟糕琐碎的日常生活里的人和事所…...
在使用ubuntu18.04的时候使用阿里源或者清华源后安装mysql5.7时出现dpkg提示的错误信息
在使用ubuntu18.04的时候使用阿里源或者清华源后安装mysql5.7时出现dpkg提示的错误信息 经过排查发现该问题可能跟本地库依赖文件导致mysql安装不上。 清除刚下载保留的mysql,然后删除、清除在更新本地依赖库。 sudo apt purge mysql* sudo apt autoremove sudo …...
引用(类名后加符号)和指针的区别
它们的区别: ①从现象上看, 指针在运行时可以改变其所指向的值, 而引用一旦和某个对象绑定后就不再改变。 这句话可以理解为: 指针可以被重新赋值以指向另一个不同的对象。 但是引用则总是指向在初始化时被指定的对象&#x…...
如何查看网站的https的数字证书
如题 打开Chrome浏览器,之后输入想要抓取https证书的网址,此处以知乎为例点击浏览器地址栏左侧的锁的按钮,如下图 点击“连接是安全的”选项,如下图 点击“证书有效”选项卡,如下图 查看基本信息和详细信息 点击详细信…...
关于maven读取settings.xml文件的优先级问题
今天在IDEA中配置maven的setting.xml文件路径指向的.m2路径下的setting_a.xml文件,同时,我的maven3.6.3也放在.m2中。 [1] .m2文件夹 [2] apache-maven-3.6.3文件夹 然后,在IDEA中打包发布时发现,无论如何都读取不到指定的setti…...
城市内涝积水监测,万宾科技内涝预警监测系统
每一个城市的排水体系都是一个复杂的网络系统,需要多个部分配合协调,预防城市排水管网带来安全隐患,也因此才能在一定程度上缓解城市内涝带来的安全问题。在海绵城市建设过程中不仅要解决大部分道路硬化导致的积水无法渗透等问题,…...
JavaEE初阶学习:Linux 基本使用和 web 程序部署
1.Linux的基本认识 Linux 是一个操作系统.(搞管理的系统) 和Windows都是同类产品~~ Linux 实际的场景: 1.服务器 2.嵌入式设备 3.移动端(手机)Android 其实就是Linux 1991年,还在读大学的 芬兰人 Linus Benedict Torvalds,搞了一个Linux 这样的系统0.01版,正式发布了~ 后…...
摔杯算法(要求用最少的测试次数找出恰巧会使杯子破碎的楼层。)
题目: 一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破;若在第M层不破,则在任何比M低的楼层均不会破。给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层…...
centos7安装docker容器
卸载老版本: $ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine/var/lib/docker/路径下存在镜像、数据卷、容器等,在卸载的时候是不会自动删除…...
【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例
【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例 前言一、案例准备二、自动生成随机二叉树工具类(TreegenerateUtils)三、如何调用随机二叉树工具类(TreegenerateUtils)? 前言 今天笔者在测试有关二叉树的…...
拯救者工具箱:让你的联想笔记本性能翻倍的开源神器
拯救者工具箱:让你的联想笔记本性能翻倍的开源神器 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 还在为联想官…...
记录一次长时间未提交事务造成的慢SQL
目录 问题描述 问题分析 1、了解前后信息 2、分析执行计划 3、分析生产环境系统负载 4、分析数据库性能 5、初步锁定根因为长时间未提交事务导致 6、最终根因定位 7、原理分析 问题描述: 开发反馈执行某条select语句的时候,生产环境和测试环境耗时相差非…...
深入RK3588 DTS:从频率电压表看Rockchip芯片的能效设计思路与调试技巧
深入RK3588 DTS:从频率电压表看Rockchip芯片的能效设计思路与调试技巧 当工程师拿到一块RK3588开发板时,最先关注的往往是性能参数——四核Cortex-A76加四核Cortex-A55的配置,高达2.4GHz的主频,以及强大的NPU算力。但真正决定这颗…...
Apache Ambari入门指南:5分钟快速掌握Hadoop集群管理
Apache Ambari入门指南:5分钟快速掌握Hadoop集群管理 【免费下载链接】ambari Apache Ambari simplifies provisioning, managing, and monitoring of Apache Hadoop clusters. 项目地址: https://gitcode.com/gh_mirrors/am/ambari Apache Ambari是一款强大…...
从‘欠拟合’到‘过拟合’:手把手用AdaBoostRegressor可视化理解集成学习的拟合过程
从‘欠拟合’到‘过拟合’:用AdaBoostRegressor可视化集成学习的拟合演变 当第一次接触机器学习中的集成学习概念时,很多人会被"弱学习器组合成强学习器"的说法所困惑。究竟这些弱学习器是如何协同工作的?为什么增加学习器数量有时…...
你以为开题报告是在写作文?好写作AI告诉你,它其实是一次“决策”
在我教的论文写作科普课里,有一个场景反复上演。 一位研一的学生,抱着一沓打印出来的文献,站在讲台前,一脸认真地对我说:“老师,我的开题报告文献综述写了6000字,但导师说我是‘文献汇编’&…...
从开发机到生产环境:C# 14原生AOT部署Dify客户端的CI/CD流水线设计(GitHub Actions + Azure Pipelines双模板)
第一章:C# 14 原生 AOT 部署 Dify 客户端的全景认知C# 14 原生 AOT(Ahead-of-Time)编译能力在 .NET 9 中正式成熟,为构建轻量、安全、启动极速的 Dify 客户端提供了全新范式。与传统 JIT 或托管发布不同,AOT 编译将 C#…...
当n和L大到1e18时,别再暴力模拟了!详解‘3437 melon’吃瓜问题的O(1)公式推导与边界条件处理
极端数据规模下的算法优化:从暴力模拟到O(1)公式推导 在算法竞赛和高性能编程中,我们常常会遇到数据规模极其庞大的问题。当输入参数达到1e18量级时,传统的暴力模拟或动态规划方法往往无法在合理时间内完成计算。本文将以经典的"3437 me…...
基于Flask和MySQL的维修管理系统 这种框架适合快速开发web网页吗
对于像维修管理系统这类业务逻辑明确、用户规模可控的项目,Flask MySQL 的组合确实非常适合用来快速开发。 这套方案就像一套“乐高积木”-4,Flask 框架只提供一个轻便、灵活的核心--20,让你可以专注实现维修工单、客户管理等核心业务。而 …...
UG/NX二次开发环境配置避坑指南:从零搭建到模板验证(nx1980+vs2019)
1. 环境准备:软件安装与版本匹配 第一次接触UG/NX二次开发的朋友,最头疼的往往不是代码本身,而是环境配置这个"拦路虎"。我当初用NX1980VS2019组合配置环境时,光版本兼容性问题就折腾了大半天。这里先划重点:…...
