自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

锅盖小郭哥

为“懒”而生哈哈哈哈

  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 Hi3516DV300开发板——8. 为HarmonyOS鸿蒙Debug贡献代码——修复了因bundleName无法识别下划线(_)导致安装Hap包失败

前言✨✨✨✨✨✨✨✨✨✨✨✨完成PR合并后还是很开心,也是为鸿蒙贡献过代码的人儿了哈哈哈。????PR合并完成:该问题是怎么引起的?昨天创建了一个带下划线的 Project Name:smart_test 的工程名称因为工程名称会随之转为 Package Name:com.example.smart_test 的package(包)然后在Hi3516DV300 开发板中使用 ./bm install -p smart_test.hap 无法安装该 smart_test.hap 包报如下错

2020-12-04 20:32:13 1271

原创 Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写

前言搭建环境教程:Hi3516DV300开发板——1.环境搭建此教程默认环境:Win10+VMware+Ubuntu18.04这篇文章只针对使用Windows下使用 网口进行烧录,所以需要有一根网线和一根串口线直连电脑。不要问为什么不用串口,因为我之前串口烧录了2个小时还没成功,最后网口1分半钟 烧录成功,至于官方提供的vs code,对serialport太不好装了,果断放弃。百度云过期可以留邮箱发需要哪个@@@@烧写准备1. 安装USB转串口的驱动程序链接:USB-to-Serial C

2020-10-26 17:20:29 4396 10

原创 2020年大学生数学建模A题:炉温曲线

题目:对改题目进行分析和整理 黄颜色代表

2020-09-15 21:51:03 23116 17

原创 C语言:指针函数和函数指针的理解

前言关于指针数组,数组指针的解释:C语言:指针数组和数组指针的理解正文定义// 正常函数int fun(int x, int y);// 指针函数int *fun(int x, int y);// 函数指针int (*fun)(int x, int y);** 指针函数本质是一个函数,其返回值为指针。**** 函数指针本质是一个指针,其指向一个函数。**正常函数:函数名为fun,两个形参为(int x, int y),返回值为int整形。声明格式:类型标识符 函数名(参数

2020-08-20 23:02:54 203 2

原创 C语言:指针数组和数组指针的理解

概念int p0[5];int *p1[5]; //指针数组int (*p2)[5]; //数组指针运算符优先级:** () > [] > ***对于int p0[]来说,p0先与[]组合构成一个数组,数组名叫p0 ,而int 修饰的是数组内的内容,即每次数组的元素都是int类型的,改数组包含5个指向int整形的数据。对于 int *p1[5] 而言,因为[]的优先级大于*,所以,p1先和[]结合构成数组,数组名为p1,而此时 int * 就相当于...

2020-06-07 15:03:05 195

原创 基于Anaconda安装不同版本Python和TensorFlow以及TensorFlow Hello World

由于服务器中本身自己有原装Python 2.7,然后还需要Python 3.7的版本去支持最近的项目去跑TensorFlow 2.0,所以选择用Anaconda,顺便记录下环境配置。Anaconda 最大的好处就是可以去选择不同的Python版本和不同的依赖去跑在完全隔离的环境中,每个单独运行互不影响,还可以直接打包随走随用,不需要随时可以删除掉,很是方便,对于搭配Pycharm也是极佳。...

2019-11-21 18:51:15 1646

原创 基于STM32下RT-Thread和u8g2的OLED屏幕显示

前期准备:设备型号:STM32GP71RB-NUCLEOIIC OLED 12864RT-Threadu8g2一.RT-Thread因为RT-Thread工程太过庞大了,我推荐使用官方的Env工具,可以免去移植的麻烦,直接通过图形界面就可以控制除非是自己画的板子或者官网历程里面没有的STM32型号得自己去做移植(如果需要移植的可以联系我),接下来跟着我一起做吧!1.下载:地址...

2019-11-08 00:47:08 4070 4

原创 基于51单片机下通过蓝牙串口控制LCD1602屏幕显示步进电机正反转以及转速

通过蓝牙串口控制LCD1602屏幕显示正反转以及转速简 述:通过蓝牙串口发送指定数据到STC89C52RC单片机,控制28BYJ-48步进电机正转或者反转或者速度的快中慢,然后51单片机,做相应的判断,在LCD1602屏幕上显示正反转状态 以及 转速。一.准备:1.单片机 —— 个人使用89C52RC,可以使用STM32或者其他类型;2.28BYJ-48步进电机: 该步进电机为4...

2019-07-31 14:28:29 6401 1

原创 设备树Pinctrl宏定义分析

设备树Pinctrl宏定义分析

2022-06-09 01:58:17 312

原创 二叉树:前序遍历/中序遍历/后序遍历—代码实现

二叉树:前序遍历/中序遍历/后序遍历—代码实现说明搭配上一篇文章一起食用更佳: 二叉树的遍历_一看就会系列代码实现初始化二叉树函数:void BinaryTree(void)前序遍历函数:void TraverseTree_Preorder(struct BinaryTreeNode* root)中序遍历函数:void TraverseTree_Inorder(struct BinaryTreeNode* root)后序遍历函数:void TraverseTree_Postord

2022-05-30 06:34:50 135

原创 二叉树的遍历_一看就会系列

二叉树的遍历_一看就会系列遍历方法:先序遍历: 根节点、左节点、右节点(根左右)中序遍历: 左节点、根节点、右节点(左根右)后序遍历: 左节点、右节点、根节点(左右根)对于每一个结点的查看都是“先左后右”,注意:对象是每个子树。遍历操作:先序遍历:根左右=== 整棵树 ===根节点:【A】左节点:【B 子树】根节点:【B】左节点:NULL右节点:【C 子树】根节点:【C】左节点:【D】右节点:【E】右节点:【F 子树】根节

2022-05-30 05:44:22 49

原创 二叉树的基本概念

二叉树的基本概念二叉树的定义:N(N > 0)个节点的有限集合,由一个根节点以及两颗互不相交的、分别称为左子树和右子树的二叉树组成。二叉树的结构特点:每个节点最多只有两棵子树 ,不存在度大于2的节点(1 : 2);左子树和右子树次序不能颠倒(有序树)二叉树的分类满二叉树一颗深度为k,且有 2k-1个节点的二叉树完全二叉树除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干接点。一个满二叉树一定是一个完全二叉树,但是一个完全二叉树不一定是满二叉树。二叉

2022-05-30 05:13:39 94

原创 树的基本概念

数据结构:树的基本概念

2022-05-30 04:32:02 45

原创 编译Linux内核错误/bin/sh: lzop: command not recipe for target ‘arch/arm/boot/compressed/piggy_data‘ failed

问题:背景:1. 韦东山老师 iMX6ULL开发板2. Linux-4.9.88内核在 make zImage 编译Linux4.9.88内核时报错这个问题: Kernel: arch/arm/boot/Image is ready LZO arch/arm/boot/compressed/piggy_data/bin/sh: lzop: command not found CC arch/arm/boot/compressed/decompress.oarch/a

2021-10-02 03:08:59 413

原创 Hi3861——3. 为HarmonyOS鸿蒙Debug贡献代码——编译编译wifiiot demolink报错undefined reference to `DemoSdkEntry‘的问题

修复在1.1.1-LTS版本下hi3861 wifi_iot编译demolink报错undefined reference to `DemoSdkEntry’的问题前言✨✨✨✨✨✨✨✨✨✨✨✨PR合并: ????问题修复在1.1.1-LTS版本下hi3861 wifi_iot编译applications\sample\wifi-iot\app\demolink模块报错问题。报错如下:[OHOS ERROR] riscv32-unknown-elf-ld: ohos/libs/libexamp

2021-08-03 02:05:45 384

原创 Hi3861——2. 为HarmonyOS鸿蒙Debug贡献代码——在1.1.1-LTS版本下编译wifiiot hi3861找不到common_env.py模块错误

前言✨✨✨✨✨✨✨✨✨✨✨✨有一段时间没有接触鸿蒙了,变化太多了,继续加油!PR合并: ????该问题是怎么引起的?重现步骤:环境搭建完成的前提下输入:hb set选择:wifiiot_hispark_pegasus进行编译:python3 build.py报错信息:ImportError: cannot import name 'common_env' from 'scripts'截图如下:原因(目的、解决的问题等)前提:common_env.py 在 devic

2021-07-28 02:17:21 258 2

原创 TensorFlow—GPU版本运行报错:failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED

报错:2021-02-23 00:00:47.646531: E tensorflow/stream_executor/cuda/cuda_blas.cc:238]failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED原因:此时说明你电脑显存占用过高,已经不足!!如果继续 全负载跑比较复杂的TensorFlow网络模型则会导致电脑其他软件运行失败,起到保护电脑的作用。解决:需要在初始化 Session 的时候为其分配固定数量

2021-02-23 00:20:39 2347

原创 RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C h

问题:使用 Jupyter Notebook 进行导入import matplotlib.pyplot as plt 报错:D:\Anaconda3\envs\tensorflow\lib\importlib\_bootstrap.py:219: RuntimeWarning: numpy.ufunc size changed, may indicate binary incompatibility. Expected 192 from C header, got 216 from PyObject

2021-02-17 01:48:01 519

原创 IPC Hi3518EV300开发板——1. Linux系统移植

前言这里使用的是润和的 IPC Hi3518EV300 开发板。默认具备:Hi3518EV200 SDKarm-himix100-linux.tgz 交叉编译工具链Linux虚拟机或者环境熟悉Linux相关操作Linux1. 准备基本环境将Linux shell改为bash查看shell是否为bash,在终端运行如下命令ls -l /bin/sh如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:方法一:在终端运行如下命令,然后选择 no。s

2021-02-02 15:16:49 1136 10

原创 IPC Hi3518EV300开发板——移植Linux 0.串口快速烧录教程

前言因为 Hi3518EV300 是支持HarmonyOS、LiteOS、Linux多系统的,鸿蒙移植因为有 Hi3516DV300,基本都一模一样,所有感觉也没什么可做的,干脆跑Linux吧,顺便熟悉学习一下Linux移植的一些过程和需要注意的东西及设置。默认掌握:基本的一些技能HiTools烧录工具及简单使用Hi3516EV200的SDK串口查看工具(SecureCRT、MobaXterm…)有兴趣可以去看我的Hi3516DV300相关教程:Hi3516DV300系列文章Hi35

2021-02-01 19:38:12 894

原创 Hi3516DV300开发板——9.HarmonyOS鸿蒙系统北向HAP开发——多页面图片显示及手势事件的处理

前言这个应该算是入门的一个Demo模板,后面的不管是什么应用,基本都可以基于这个模板去做自己的代码逻辑扩展,实现自己的功能。准备思路

2020-12-27 18:34:06 678 3

原创 Hi3816 ——1. FAILED: obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons_build_ext_components.txt 错误解决

问题报错在编译WIFI报错:[196/197] ACTION //vendor/hisi/hi3861/hi3861:run_wifiiot_scons(//build/lite/toolchain:linux_x86_64_riscv32_gcc)FAILED: obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons_build_ext_components.txt python ../../build/lite/build_ext_components.p

2020-12-15 03:50:00 1672 3

原创 Hi3516DV300开发板——7.1 HarmonyOS鸿蒙系统北向HAP开发——编译第一个触摸版本Hello Wold

前言之前一直都是在搞南向,驱动底层之类的代码分析,包括底层的Makefile分析之类,其实Hi3516DV300 从开发板性能来说,更多的应该在高层次应用中,比如AI、神经网络模型的移植、优化和适配HarmonyOS鸿蒙系统中。所以后面也会闲暇之余去做做上层相关的学习,从第7节开始后面的小节大多会是北向相关的文章,后面的大节还是正常一步步走。DevEco Studio简介简单来说,DevEco Studio就是一个IDE,提供工程模板创建、开发、编译、调试、发布等应用开发的工具。1.安装Dev

2020-12-04 19:14:53 2317

原创 Hi3516DV300开发板——4.开发板挂载NFS服务

前言更新系列:Hi3516DV300开发板——0.开箱啦Hi3516DV300开发板——1.环境搭建Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写Hi3516DV300开发板——3.烧录过程问题、uboot相关设置及移植前准备注意:一定要在配置虚拟机网络与开发板网络互相能ping通情况下才能开始!!!!NFS服务器配置(虚拟机端)安装nfs服务sudo apt-get updatesudo apt-get install nfs-kernel-serv

2020-11-28 15:17:58 1118 7

原创 Hi3516DV300开发板——3.烧录过程问题、uboot相关设置及移植前准备

前言在前一篇 Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写之后,还是有很多坑的,比如 uboot 烧写进去后,如何根据自己手里不同的开发板,设置 bootargs 和 bootcmd 等选项。同时最后会解决一些上一篇的小问题。说明bootargs 传递给内核的启动参数,告诉内核相关内容,决定内核启动后根文件系统如何挂载bootcmd: 用于实现内核的自启动的参数传递这里有兴趣的同学,可以去看看韦东山老师的 uboot 的分析课程,可以结合实践去分析了解。

2020-10-30 15:26:53 3153 1

原创 Hi3516DV300开发板——1.环境搭建

前言安装环境,默认你是有Linux系统的,不管是VM虚拟机还是docker还是WSL,也不对系统进行要求。此教程默认环境如下:Ubuntu18.04、Anaconda(Python3.8.5)、Anaconda安装不同版本Python

2020-10-26 15:18:05 4769

原创 Hi3516DV300开发板——0.开箱啦!

前言首先,很感谢【电子发烧友】能给学生的我一个这么好的机会接触学习鸿蒙HarmonyOS,然后也折腾的摸索了几天,决定写个系列把,有不足之处,希望多多提意见,一起学习进步!!!介绍AI Camera板卡主体是四块功能不同的板子,叠层垒构成:Core 核心板(DDR3 1GB、EMMC 8GB)Sensor 传感器板(2.4G WIFI、SD卡、摄像头模组、喇叭)Light 灯光板Ext 接口扩展板LCD屏(5.5寸)主要接口有如下:音频视频1路语音输入1路单声道(AC_L)输

2020-10-26 11:14:37 5792

原创 “mkimage“ command not found - U-Boot images will not be builtmake[2]: *** [arch/arm/boot/uImage] Err

问题今天在HarmonyOS中编译Linux4.9.7的内核时报错这个问题:"mkimage" command not found - U-Boot images will not be builtmake[2]: *** [arch/arm/boot/uImage] Error 1make[1]: *** [uImage] Error 2解决一般的思想是它缺少什么我们去找相对应的依赖包装好就可以了。可是目前mkimage已经被废弃,但是可以在u-boot-tools中找到,所以:sud

2020-10-25 19:57:08 1481

原创 进入phpmyadmin后出现404 Not Found解决方法

说明在使用宝塔面板下创建了数据库后想去看看数据是否正常存储,打算进入phpmyadmin查看,后发现进入后显示404 Not Found。解决方法建议先检查方法二方法一:先检查你使用的888端口或者你修改过的端口是否在云服务器中的安全组中放行该端口。方法二:如果放行还出现这个问题,说明就是你的Nginx设置有问题,没有找到phpmyadmin的正确路径,我们继续。进入宝塔的软件商店,然后找到Nginx,打开设置进入Nginx管理打开配置修改,找到listen 888 这

2020-10-08 14:59:47 4333 9

原创 Kali 国内源整合

Kail修改源使用 sudo 进入 sources.list 文件夹sudo vi /etc/apt/sources.list根据需要自己选一个# 官方源deb http://http.kali.org/kali kali-rolling main non-free contribdeb-src http://http.kali.org/kali kali-rolling main non-free contrib#中科大deb http://mirrors.ustc.edu.

2020-09-20 20:04:20 281

原创 使用git将本地代码上传到github操作

整体流程git init #初始化本地仓库git add . #添加文件到暂存区git commit -m "本地改动的注释说明" #将暂存区内容添加到本地仓库中git remote add origin https://github.com/Long1373766226/test.git #绑定本地仓库和githubgit remote rm origin #当上一行报错:执行这行再重复执行上一行即可git pull --rebase origin master #远程仓库为空不用执行

2020-09-17 02:33:52 124

原创 用两个栈实现队列 及 两个队列实现栈功能

前言最近笔试遇到这个问题,感觉蛮有意思的,分析看看实现一、问:用两个栈实现一个队列的功能,要求给出算法和思路示意图答:设2个栈A,B,初始化为空入队:将新元素push入栈A;出队:(1) 判断栈B是否为空;(2) 如果不为空,则将栈A中所有元素依次pop出并push到栈B;(3) 将栈B的栈顶元素pop出;说明:利用栈的两次先进后出实现队列的先进先出还是蛮有意思的。同时,这样实现的队列入队和出队的平摊复杂度都还是0(1)二、问:用两个队列实现一个栈的功能

2020-08-27 18:42:03 203

原创 嵌入式软件工程师岗位基础题(2)

自加自减a++:先执行a,之后再加1。++a:先加上1,再执行a。例程:请写出下列代码的输入内容#include <stdio.h>int main(){ int a,b,c,d; a = 10; b = a++; c = ++a; d = 10*a++; printf("b, c, d: %d, %d, %d\n",b,c,d); return 0;}答: 10, 12, 120当出现难以区分的若干个“+”或“-”组成运算符串时,C语言规定:从左到右取尽可能

2020-08-25 00:47:18 173

原创 嵌入式软件工程师岗位笔试、面试题(1)

一、前言最近在找嵌入式软件开发岗位,由于第一次面临秋招,所以准备做个长文,将一些可能会问的、考的包括C语言问题记录下来。二、经典面试题预处理和宏用预处理指令 #define 声明一个常数,用于表明1年中有多少秒(不考虑闰年)#define SECONDS_PER_YEAR (60*60*24*365)UL这个计算会使16位机的整形数溢出,需要使用长整型L#define 和 typedef 的区别宏定义中#和##的使用...

2020-08-24 09:22:26 1542

原创 进程与线程的理解及区别

区别进程:资源分配的最小单位线程:程序运行的最小单位(资源调度的最小单位)进程有自己的地址空间,当一个进程建立,系统就会为它分配地址空间,而线程是共享进程的数据,使用相同的地址空间。一个进程中可以包含多个线程,但是至少有一个线程。一个进程死掉不会影响其他进程,进程与进程之间相互独立,但是一个线程死掉,整个进程都死了。线程之间的通信更加方便,同一进程下的线程共享全局变量,静态变量等,而进程间通信需要以IPC方式进行。...

2020-08-23 12:37:01 390

原创 内存空间分布及堆栈的区别

内存空间分布 内存模型(4G) 大小 内核空间(应用不可访问) 约1G 栈空间(局部变量) 约3G 堆空间(申请的内存空间(malloc)) 全局的数据空间(static)(初始化、未初始化) 代码段(只读数据段) 起始地址 0x00 数据段 = 全局 + 只读内存中的栈区处于相对高的地址,如果以地址的增长的方向为上的话,栈地址是向

2020-08-22 00:24:40 561 2

原创 #define和typedef 区别与用法

一、前言虽然都是为一种类型创建自定义的名字,但之间还是有很打的差别的。eg:#define my_int inttypedef int my_int二、typedef的用法1. 用途一:用作同时声明指针类型的多个对象,比如:int *pa,pb;//相当于int *pa;int pb;这里相当于只定义了一个指向int型变量的指针pa,而pb是int整型变量,不是指针。但是typedef可以实现定义多个指针类型变量typedef (int*) P_INT;P_INT pa,

2020-08-21 00:30:37 346

原创 C语言的宏定义中#和##使用与区别

解释#:“字符串化”,把#后面的参数变为 字符串##:连接,把##前面和后面的参数连接在一起举例#include <stdio.h>// 转字符串的宏定义 #define STR(s) #s// 连接的宏定义 #define CON(a,b) (a##_love_##b)int main(){ printf("After STR: %s\n",STR(Hello)); printf("After CON: %s\n",CON(I,you)); ret

2020-08-20 01:15:01 334

原创 jupyter notebook 中报错 ModuleNotFoundError: No module named ‘cv2‘

说明:今天在使用conda 安装opencv 后,在cmd下正常import cv2但是进入Jupyter Notebook 后 import cv2 失败,报错ModuleNotFoundError: No module named 'cv2'原因:发现在conda下安装的包,在 Jupyter Notebook 里面却无法调用。同时发现 Jupyter 的 Kernel 只有Python 3一个环境,不显示 conda create 我添加的其他环境,因此无法调用到当前环境下的c

2020-08-15 16:04:38 7106 5

原创 Linux服务器下基于Anaconda搭建jupyter notebook

11

2020-08-08 01:05:57 485

2020数学建模赛题无删减.zip

2020年全国大学生数学建模 此文件只包含原版比赛第一手拿到的题目, 包括赛题的说明,论文格式等,不包括论文等, 所以特此免费,提供大家学习

2020-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除