自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cainiaocl的博客

请叫我靓仔

  • 博客(80)
  • 收藏
  • 关注

原创 触觉智能 PurPle Pi OH(OpenHarmony)开发板

Purple Pi OH作为一款兼容树莓派的开发板,其使用的RK3566是一颗高性能、低功耗的四核64位处理器芯片,专为个人移动互联网设备和AIOT设备而设计,可广泛应用于平板、教育平板、带屏音箱、词典笔、云终端、视频会议系统等Android/Linux类应用方案,以及其他带屏消费类、轻量级AI应用场景。

2023-09-25 14:25:03 435

原创 PurPle-Pi-OH常见问题

断电,按着recovery键再上电才行,看看文档,文档上有:先用分包的方式烧录吧,后面应该会出一个合成整包的脚本文件,不过分包调试方便,需要那个烧录那个镜像可以导出来,识别到loader设备后点击这个就行。虚拟机装个openwrt,然后改网关ubuntu的都默认主目录下的downloads目录单声道《Purple-Pi-OH Android系统使用手册》摄像头不支持OV8858 ,OV5648以外的的摄像头直接-j1,不要多线程运行,这样报错信息详细。

2023-09-25 11:57:15 243

原创 Purple-Pi-OH Ubuntu系统使用手册

串口调试端口位于J5,通信参数为,电平状态为TTL电平。串口登录默认以root用户登录,且没有设置密码。各个Pin的功能定义见下表:序号定义电平说明1VDD_3V33.3V供电输出3.3V2VDD_5V5V可做5V输入供电,也可输出5V3I2C_SDA3.3VI2C数据信号4VDD_5V5V可做5V输入供电,也可输出5V5I2C_SCL3.3VI2C时钟信号6GNDGND电源地7GPIO_73.3Vgpio编号为238UART_TXD。

2023-09-25 11:31:54 262

原创 Purple-Pi-OH OHOS SDK编译手册

提取码:1234。

2023-09-25 11:13:52 410

原创 Purple-Pi-OH Linux SDK编译手册

及以上版本系统编译Purple-Pi-OH sdk。》,可单独升级uboot或kenrel分区。输入对应的编号即可完成配置选择。合并后,就可以进行解压了(目录生成完整升级固件。

2023-09-25 10:44:15 282

原创 PurPle-Pi OH 产品介绍

Purple Pi OH作为一款兼容树莓派的开发板,其使用的RK3566是一颗高性能、低功耗的四核64位处理器芯片,专为个人移动互联网设备和AIOT设备而设计,可广泛应用于平板、教育平板、带屏音箱、词典笔、云终端、视频会议系统等Android/Linux类应用方案,以及其他带屏消费类、轻量级AI应用场景。

2023-09-22 10:28:41 131

转载 韦东山之学习笔记——NOR Flash

Nor Flash的简单介绍搬砖于:https://www.cnblogs.com/053179hu/p/10635601.htmlNor是非易失性存储器之一Nor Flash最大的特点是支持XIP(Execute On Chip),就是可以直接在Nor Flash的皮内内存执行,在Nor Flash中的代码运行时不需要重定位复制到RAM内。Nor Flash的地址线跟数据线是分开的,数据的读取和RAM很类似,只要能够提供数据地址,数据总线就能正确给出数据,不过不能直接对他进行写操作,执行写操

2021-09-05 09:19:12 2116

转载 韦东山第一期学习笔记——异常与中断

当异常中断发生时,系统执行完当前指令就会跳转到响应的异常中断处理程序,当处理程序执行完毕后,程序返回到发生中断的指令的下一条指令执行;在进入异常中断处理程序时,要保存被中断的执行现场,在异常中断处理程序退出时,要恢复被中断的程序的执行现场ARM七种工作模式说异常中断前,就有必要说说ARM的七种模式,因为在发生异常或者中断的时候会进入ARM的其中一个模式进行处理。用户模式(USR):正常程序执行模式,不能直接切换到其他模式系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换

2021-08-02 22:35:05 899

原创 韦东山第一期学习笔记——重定位

重定位必须知道的几个概念什么是代码重定位?什么是位置无关码什么是运行地址为什么要代码重定位?nand flash启动的情况nor flash启动的情况两种方式的重定位代码重定位例如执行如下几条汇编指令必须知道的几个概念什么是代码重定位?把可执行程序从一个位置复制到另一个位置的过程叫做重定位什么是位置无关码什么是运行地址是指程序指令真正运行的地址,是由用户指定的,用户将运行地址烧录到哪里,哪里就是运行的地址。比如有一个指令的编译地址是0x0,实际运行的地址是0x30000000,如果用户将指令烧到

2021-07-24 09:19:05 877

原创 汇编向C语言函数传递参数

/* 重定位text, rodata, data段整个程序 */mov r0, #0ldr r1, =_start /* 第1条指令运行时的地址 */ldr r2, =__bss_start /* bss段的起始地址 */sub r2, r2, r1bl copy2sdram /* src, dest, len */ 这里的copy2sdram是C语言的一个带参的函数,里面有三个参数src、dest、 len,问题是我们应该如何在汇编里传递参数呢,我们用的是寄存器进行传

2021-07-20 11:10:07 1130

转载 使用刚安装好的arm-linux-gcc出现了一些问题libstdc++.so.6: cannot open shared object file: No such file or directory

因为centos7系统是64位的,安装的编译器是32位的,因此显示缺少共享库看这个大佬的文章:https://www.geek-share.com/detail/2721555946.html

2021-07-08 07:25:49 466

原创 -bash: export: `PAT=.....不是有效的标识符

这个是否一定要仔细查看自己的写的代码,可能因为多一个空格就会造成这种局面export PATH=$PATH:/usr/local/arm/arm-linux-gcc-4.4.3/bin

2021-07-08 07:05:27 871

原创 搬砖之韦东山学习笔记——基于S3C2440的内存控制器与SDRAM(12)

内存控制器与SDRAM内存接口概念内存控制器不同位宽设备的连接例一怎样确定芯片的访问地址:例二时序图读时序写时序为什么需要通过编程来控制读写时序呢?S3C2440如何能读写NOR FALSH的数据?NOR FALSH时序名词解释NOR FLASH 读时序SDRAM工作原理问题1:怎样访问里面的某个格子呢**问题2:那么多的信号有谁发出呢?问题3:那问题是怎么拆分呢??读数据程序具体匹配2440内存控制器设置:BWSCON位宽寄存器:采用默认设置搬砖链接存储控制器(SDRAM操作)2440裸机-12-

2021-06-23 11:58:33 936

原创 nginx 无法在浏览器中通过域名或者IP访问

环境:在阿里云服务器上的linu操作系统使用系统:centosIP无法访问第一个问题下面的几个问题别人似乎遇到过,ip无法访问的原因,但是我这边真正原因实在阿里云服务器那边,我们需要在安全组添加我们的开放端口号。第二个可能你的IP被占用,所以你需要查看端口号,查看特定端口用如下第一个命令,查看全部端口用第二个命令实行kill -s 9 pid,这里的pid是你查看端口号时显示的第三个问题第二个问题是你的防火墙没有关闭,或者你没有开放端口号[root@iZwz967a5gqt3a.

2021-06-21 09:50:55 1542

原创 韦东山学习笔记——UART(串口)的使用

基于jz2440的串口使用搬砖的文章概述UART的发送和接收串口之间的数据传输UART的用途串口的数据帧参数说明起始位数据位奇偶校验位停止位波特率怎么发送一字节数据,比如‘A‘?UART的优缺点优点缺点UART相关配置寄存器ULCONn:线路控制寄存器UCONn:控制寄存器UFCONn:FIFO控制寄存器UMCONn:MODEM控制寄存器UTRSTATn:收发状态寄存器UERSTATn:错误状态寄存器UFSTATn:FIFO状态寄存器UMSTATn:Modem状态寄存器UTXHn/URXHn:传输缓冲寄存器

2021-06-14 18:15:44 2533

转载 nginx安装时,make 编译出现的错误gx_murmurhash.c:37:11: error: this statement may fall through [-Werror=implicit

错误如下:操作步骤cd objsvim Makefile找到- werror 删掉即可原因:将警告当成错误处理,- werror就在前几行

2021-06-09 11:27:58 1791 2

转载 韦东山学习笔记——内存控制器与SDRAM

本来想根据韦东山老师的教学视频写一下笔记的,然后网上找了一下,发现韦东山老师其实字节也是写了博文,那就直接转载老师的文章里,方便以后自己需要的时候可以找到:韦东山老师博文:https://cloud.tencent.com/developer/article/1708808...

2021-06-07 11:36:47 154

原创 微信小程序使用MQTT远程控制单片机——MQTT控制报文③

微信小程序MQTT远程控制单片机——DISCONNECT③DISCONNECT ——断开连接固定报头可变报头有效载荷响应测试PINGREQ——心跳请求固定报头可变报头有效载荷响应测试SUBSCRIBE - 订阅主题SUBSCRIBE报文固定报头可变报头有效载荷DISCONNECT ——断开连接固定报头报文则为:E0 00可变报头DISCONNECT报文没有可变报头。有效载荷DISCONNECT报文没有有效载荷。响应客户端发送DISCONNECT报文之后:必须关闭网络连接不能通过那个

2021-05-31 23:33:52 2888 17

原创 微信小程序使用MQTT远程控制单片机——MQTT控制报文②

微信小程序远程控制单片机——使用MQTT协议MQTT控制报文——CONNECT(连接服务器)A:固定报头 Fixed headerB:可变报头 Variable header协议名(Protocol Name)协议级别(Protocol Level)连接标志(Connect Flags)a. 清理会话 Clean Sessionb. 遗嘱标志 Will Flagc. 遗嘱QoS Will QoSd. 遗嘱保留 Will Retaine. 用户名标志 User Name Flagf. 密码标志 Passwor

2021-05-30 17:43:46 3198

原创 微信小程序使用MQTT远程控制单片机——阿里云物联网平台

微信小程序远程控制单片机——使用MQTT协议①阿里云物联网平台的使用第一,注册阿里云第二,找到找到物联网平台并创建设备MQTT协议格式的讲解MQTT中文文档固定报头 Fixed header2.3 可变报头 Variable header有效载荷 Payload阿里云物联网平台的使用第一,注册阿里云打开阿里云官网进行注册https://www.aliyun.com/第二,找到找到物联网平台并创建设备进去物联网平台里面里面点击公共实例->创建产品创建完成,点击查看,查看里面的产品情况

2021-05-30 17:42:17 9343 5

原创 阿里云搭建MQTT服务器(博主记录版,没有参考价值)

添加这几个端口Shell 脚本一键安装 (Linux)$ curl https://repos.emqx.io/install_emqx.sh | bash启动 EMQ X Broker$ emqx start

2021-05-28 21:39:50 150

原创 S3C2440-uart的使用详解

UART的使用友情链接:UART串口原理a. UART介绍UART数据收发b. UART数据帧UART的配置UART引脚的配置波特率的配置设置串口数据帧格式设置控制寄存器设置FIFO状态寄存器缓冲寄存器,用来收发数据编写UART关键代码友情链接:借鉴1:https://blog.csdn.net/qq_43743762/article/details/105895303借鉴2:https://www.cnblogs.com/huangdengtao/p/12103149.html借鉴3:https:

2021-05-27 08:05:11 504

转载 S3C2440时钟体系结构与编程

该博主是基于韦东山的,写的很详细,值得推荐:https://blog.csdn.net/caihaitao2000/article/details/79846914

2021-05-25 17:25:35 88

原创 Makefile的简单使用使用

Makefile的简单使用使用Makefile简介Makefile组成部分Makefile基本格式Makefile初级语法一、规则语法a.目标target伪目标b. 前置条件prerequisitesc. 命令command:二、 规则中的通配符三、变量和赋值符a.变量定义 ( = or := )b. 变量追加值 (+=)c.变量空时赋值变量 (?=)四、自动变量五、echo输出变量六、Makefile文件语法A. 循环函数foreachB. 过滤函数:filterC. 反过滤函数:filter-outD.

2021-05-24 15:37:00 631 3

原创 C语言指针、数组

什么是指针?1.指针是一个变量的地址。所以也可以说指针就是地址。或者说地址就是指向变量的指针。我们可以通过资源地址(指针)访问网络资源那么怎么让用变量的地址访问变量的值?我们需要利用“指针运算符”实现,如:*&c,这样太费劲了,我直接c不久完毕了吗,但他们是等价的,在某些情况下利用指针效率会更高,因为他直接访问地址就可以拿到地址里面的内容。什么是指针变量?我们可以定义一个变量来存放变量c的地址,我们就把专门用于存放指针的那个变量,叫做指针变量,如:int num = 7; int *a

2021-05-22 14:59:52 90

原创 gcc和arm-linux-gcc的常用选项

gcc的使用方法gcc [选项] 文件名一、gcc常用选项:-v :查看gcc编译器的版本,显示gcc执行时的详细过程-o :指定输出文件名为file,这个名称不能跟源文件名同名-E :只预处理,不会编译、汇编、链接-S :只编译,不会汇编、链接-c : 编译和汇编,不会链接1. -o :指定输出文件名为file,这个名称不能跟源文件名同名gcc test.c -o hello或者gcc -o hello test.

2021-05-22 06:53:46 212

转载 ldr,str指令作用,详解

LDR,STR 的第一操作数是目标寄存器,第二操作数是内存地址,LDR 内存 --> 寄存器;STR 寄存器 --> 内存内存的表示方式有:立即数,寄存器,或寄存器加偏移,立即数:内存的物理位置,前面加个#,如0x56000050寄存器,加个[],如[r1],偏移的话[r1,r2],或者[r1,#4],[r1,LSL #4]等,都差不多,就是把寄存器里的数当成地址。LDR伪指令的形式是“LDR Rn,=expr”。作用是装在一个32bit常数和一个地址到寄存器。下面举一个.

2021-05-21 21:28:19 6006

原创 韦东山嵌入式linux第一期_裸机实战——裸机开发步骤和工具使用

电灯灯引脚设置配置端口:配置引脚端口为输出数据寄存器:设置引脚为低电平上拉模式:设置上拉功能关

2021-05-14 21:23:33 306

原创 个人Linux常用命令

Linux yum 命令yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。yum 语法yum [options] [command] [package

2021-05-12 08:54:22 118

原创 常用汇编指令

LDR作用:LDR{条件} 目的寄存器 <存储器地址>。将 存储器地址 所指地址处连续的32位(4个字节 ==1个字)的数据传送到目的寄存器中。LDR指令的寻址方式比较灵活,实例如下:LDR R0,[R1] ;将存储器地址为R1的字数据读入寄存器R0。LDR R0,[R1,R2] ;将存储器地址为R1+R2的字数据读入寄存器R0。LDR R0,[R1,#8] ;将存储器地址为R1+8的字数据读入寄存器R0。LDR R0,[R1],R2 ;将存储器地址为R1的字数据读入寄存器R0,

2021-05-12 08:53:46 2644

转载 汇编程序启动的几个关键字

.text:是处理器开始执行代码的地方,指定了后续编译出来的内容放在代码块,是arm-gcc编译器的关键词.gload 关键字用来让一个符号对链接器可见,可以提供其他链接对象模块是哟个;告诉编译器后续跟的是一个全局可见的名字【可能是变量,也可以是函数名】.gload _start让_start符号成为可见的标识符,这样连接器就知道跳转到程序中的什么地方并开始执行_start 是一个函数起始地址,也是编译,链接程序的起始地址,由于程序通过加载器来加载的,必须要找到_start名字的函数,因为_start

2021-05-12 08:53:18 324 1

原创 解决Ubuntu出现,无法连接虚拟设备 sata0:1……问题

每次启动都出现这个问题解决方法

2021-05-10 12:10:58 578

原创 source insight的使用以及常用操作说明

source insight安装以及破解破解文件:https://pan.baidu.com/s/1d6qO759g1TjRDdhfZxI_sA 提取码:4kez步骤1.下载我的百度网盘文件;2.首先安装sourceinsight4087-setup.exe3.在使用下载好的sourceinsight4.exe替换安装在program file(x86)目录下的sourceinsight4.exe;4.启动sourceinsight时,会弹出小框,导入下载好si4.pediy.lic摘自

2021-05-08 10:52:46 1680 1

原创 在liunx中build-essential的作用

作用linux操作系统上面开发程序, 光有了gcc 是不行的它还需要一个 build-essential软件包作用是提供编译程序必须软件包的列表信息,也就是说 编译程序有了这个软件包,它才知道 头文件在哪 才知道库函数在哪,还会下载依赖的软件包 最后才组成一个开发环境。软件包: build-essential 安装方法:sudo apt-get install build-essential参考网页...

2021-05-05 11:31:39 1776

原创 Linux中安装yum方法以及安装yum过程中出现一些错误的解决方法

下载安装包wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz解压安装包tar xvf yum-3.2.28.tar.gz进入yum-3.2.28文件夹中进行安装yumsudo apt install yum此时可能会出现错误E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource tempo之类,这里的中单是“lock”。估计是apt进程

2021-05-05 10:23:18 858

原创 linux文件架构即含义与用途

/bin,/sbin/bin主要放置一般使用者可以操作的指令,/sbin放置系统管理员可以操作的指令。连结到/usr/bin,/usr/sbin成都/bin 该目录中存放Linux的常用命令。/sbin 该目录用来存放系统管理员使用的管理程序。/boot主要放置开机相关档案/boot 该目录默认下存放的是Linux的启动文件和内核/dev放置device装置档案,包话滑鼠键盘等/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,访问这

2021-05-05 10:02:08 105

原创 韦东山嵌入式linux第一期_裸机实战之开发板熟悉与体验篇

观察开发板系统信息:串口操作linux系统流程使用开发板的usb-device 连接电脑的usb,注意,需要下载驱动串口PL2303_Prolific_DriverInstaller_v1.7.0。然后用MobaXterm_Personal_10.4继进行远程操控开发板上的Linux操作系统烧写其他的操作系统文件,即eop少些裸板步骤我们使用的是JTAG烧写口烧写文件(10针插口)烧写器用的是eop(还有一个是Jlinkx)...

2021-05-03 11:18:00 286

原创 pc,虚拟机,开发板ping不通的解决方法之一

方法①确定网卡A②VMAARE选择网卡A作为桥接网卡③设置三者(PC,VMAWARE,开发板)处于同一网段因为桥接就是必须把PC跟VMWARE在同一个网卡桥接才能成功,若是桥接在不同网卡会连接失败详细步骤VMAARE选择网卡A作为桥接网卡(网卡A就是指你PC上连接的那个网络)你用那一个网卡连接开发板,那么就是用哪一个网卡把三者设为同一桥段我们可以在PC上设置网址,也可以自动在PC机查找网址的网段是什么,然后在VMAWARE虚拟机上设置同一网段,否则无法连接成功,然后在开发板上也设

2021-05-03 10:42:38 599

原创 JZ2440开发板恢复本厂系统

开发板恢复本厂系统的具体步骤使用op/eop烧写u-boot到nor/nand, 设置为nor/nand启动上电后马上在串口输入空格键,使板子进入UBOOT而不是启动板子上的内核连接PC-----------开发板的usb device口; 安装驱动下载内核: 在UBOOT的串口菜单中输入k使用dnw_100ask.exe发送uImage文件uboot即会自动接收、烧写uImage文件下载文件系统: 在UBOOT的串口菜单中输入y使用dnw_100ask.ex

2021-05-03 09:45:31 242

原创 使用uboot烧写文件到开发板

uboot烧写裸板程序使用op/eop把u-boot.bin烧到nor flash。开发板设置为nor启动, 上电后马上在串口输入空格键,使板子进入UBOOT而不是启动板子上的内核。连接PC-----------开发板的usb device口; 安装驱动。在UBOOT的串口菜单中输入n (表示接收USB文件并烧写到NAND)。使用dnw_100ask.exe发送bin文件。uboot即会自动接收、烧写bin文件。断电、设为NAND启动、上电:运行nand上烧好的程序。...

2021-04-30 10:37:10 1117

空空如也

空空如也

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

TA关注的人

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