- 博客(30)
- 收藏
- 关注
原创 HPM6750——双核通信结果
当示例正常运行的时候,串口终端会打印如下信息:Core 0:Core 1:一旦Core1程序启动之后, Core 1将会将从Core 0接收到的信息返回给Core 0,测试将在Core 0的调试串口将可以看到:
2025-01-22 11:44:31
283
原创 HMP6750——双核通讯
core0初始化时钟、外设、内存、释放core1在时钟初始化部分,基本外设都挂在在cpu0,cpu1的邮箱挂在cpu1init-pmp 定义nocache区,方便双核进行数据交换释放core1core1初始化内存。
2025-01-22 11:42:51
599
原创 SEGGER Embedded Studio查看变量存储区
如何查看变量存储再哪个区,查看.map文件。如何查看使用哪个ld文件,进入项目。查看连接文件:.ld结尾。
2025-01-17 10:37:03
153
原创 向gitlab上传代码
4.git commit -m " "注释加提交修改到本地仓库。5.git push origin 到远程分支如Develop。2.git checkout 到远程分支如Develop。3.git add -A 添加修改到本地暂存。1.git clone 远程仓库。
2025-01-17 10:35:19
112
原创 嵌入式开发中的连接文件
连接文件(Linker Script)用于定义程序中各个部分(如代码、数据、堆、栈等)如何映射到目标设备的内存区域。通过连接文件,你可以指定变量、函数或数据的存储位置,这对于嵌入式系统、硬件寄存器映射和特定内存布局要求的应用至关重要。使用连接文件,可以通过的方式将变量放置到指定的内存区域。
2025-01-16 14:40:16
414
原创 Ozone使用记录
与其他IDE没有什么不同,不过比较奇怪的一点是,Ozone支持的STM32一些内核的寄存器(比如DPB、或者DWT等)ST官方手册都没有仔细些,ARM的一些Core的手册才给出的寄存器。这个功能我没有在keil中看到过,不过感觉还挺好用的,将实际编译进镜像的所有全局变量全部显示出来,因为STM32的所有全局变量都是有固定内存地址的,所以内存地址、数据类型、以及定义所在文件,都可以直观显示出来。再次表扬下Ozone的这个Filter Bar的这个功能,方便查找,Fliter Bar在很多窗口里面都有的。
2025-01-16 11:05:02
2028
原创 HPM6700——以太网通信lwip_udpecho_freertos_socket
本示例展示在FreeRTOS系统下的UDP回送通讯PC 通过以太网发送UDP数据帧至MCU,MCU将接收的数据帧回发至PC。
2025-01-15 10:53:02
767
原创 HPM6700系列——通用双核配置
Core0 和 Core1 是两个独立的Core,每个Core有自己内部独立的资源,例如ILM/DLM、PLIC、MCHTMR、FGPIO、PMP/PMA等;二者也有SOC共享的外设资源,例如AXI_SRAM、UART、DMA等。在双核设计时,需要规划好内存资源和外设资源的分配。系统总是从Core0启动,Core1不能自启动,因此Core0为主核,Core1为从核。Core0启动后,会对SOC的基础资源进行初始化,例如时钟、内存、电源等,之后指定Core1的启动地址并释放Core1,这样双核就运行起来了。
2025-01-15 10:33:51
496
原创 HPM SDK使用记录
配置Debug模式,选择Preprocessor,对User Include Directories进行配置。解决方法:右键prj,选择options,
2025-01-14 16:29:08
172
原创 ESP32作为Wi-Fi STA模式的测试
网络调试助手作为TCP Server——IP地址: 192.168.137.1 端口号:8080。通过网络调试助手作为TCP Server与ESP32建立TCP连接,发送和接收数据。ESP32作为TCP Client—— IP地址默认分配为192.168.10.x。
2025-01-10 14:09:25
1164
原创 ESP32作为Wi-Fi AP模式的测试
会创建一个默认的事件循环,并在后台启动一个专门处理事件的任务,这个任务负责处理所有注册的事件和相应的事件处理器。当注册的Wi-Fi事件发生时,事件循环任务会调用相应的事件处理器,例如你注册的。ESP32作为TCP Server—— IP地址: 192.168.10.1 端口号:8080。网络调试助手作为TCP Client——IP地址: 默认分配为192.168.10.x。通过网络调试助手作为TCP Client与ESP32建立TCP连接,发送和接收数据。这个后台任务调度并调用的回调函数。
2025-01-10 14:07:36
1056
原创 ESP32之ESP-IDF任务调度
ESP32 的启动从 Bootloader 开始,Bootloader 是最早执行的代码,它负责初始化最基本的硬件功能(如时钟、内存配置等),然后加载应用程序的代码,并将控制权交给应用程序的入口点。但在 ESP-IDF 中,系统的启动流程需要完成一系列的初始化任务,比如硬件初始化、RTOS(实时操作系统)启动、堆栈设置等。具体来说,ESP-IDF 中的启动过程是由底层的 bootloader 和系统代码管理的,它们负责初始化硬件、启动 FreeRTOS 内核,并且为应用程序提供一个干净的运行环境。
2025-01-08 15:54:12
468
原创 ESP32作为BLE客户端gatt-client教程
第一次触发此事件时,GATT 事件处理程序会捕获该事件并将其分配给配置文件 A,然后将该事件转发到配置文件 A 的 GATT 事件处理程序。对 BLE 扫描参数进行配置,以便扫描类型处于活动状态(包括读取扫描响应),它是公共类型,允许读取任何广告设备,并且扫描间隔为 100 毫秒(1.25 毫秒 * 0x50)和 60 毫秒(1.25 毫秒 * 0x30)。为了获取设备名称,我们使用函数,该函数获取存储在 中的广告数据、广告数据的类型和长度,以便从广告数据包帧中提取值。扫描期结束后,将触发事件。
2025-01-06 15:35:10
1285
原创 ESP32 的蓝牙协议栈
找到特性 "Service Change Characteristic”,Handles 0x0002~0x0003 - 其中 0x0002 对应的是这个特性的特性声明 - 其中 0x0003 对应的是这个特性的特性值 - 所以每个特性⾄少需要占据 2 个 Handle 的属性。• 特性数值 (Characteristic Value):特性的核⼼部分,⼀般紧跟在特性声明后⾯,承载 特性的真正内容。数据本身的属性值及其可能携带的描述符,构成了特性 (Characteristic)* 的概念。
2025-01-06 15:28:52
779
原创 Zynq7020移植ThreadX 流程
右键Application Project项目->New->Other->General->Floder->Next->Advance->LinkTo alternate location (Linkerd Floder)->(添加common_file文件夹路径)第一次创建应用,我们选择基于当前的platform创建一个新的bsp。在C/C++ Build->Settings->ARM v7 Linker-> Inferred Options->SoftWare Platform中增加对应库的文件夹。
2025-01-03 17:36:57
545
原创 petalinux2017.4对linux4.9.0打实时补丁
准备工作:1.windows:安装vivado 2017.4,xilinx sdk 2017.42.ubuntu16.04:安装petalinux 20173.黑金ax7020,sd卡。
2025-01-03 16:37:48
970
原创 Zynq基于Linux实现TCP服务器
1.windows:安装vivado 2017.4,xilinx sdk 2017.42.ubuntu16.04:安装petalinux 20173.黑金ax7020。
2024-12-12 19:18:57
1360
原创 Petalinux使用教程
10. 制作 SD 启动卡,将 BOOT.BIN 和 image.ub 以及根文件系统部署到 SD 卡中;该命令将生成设备树 DTB 文件、fsbl 文件、U-Boot 文件,Linux 内核和根文件系统映像。3. 通过 petalinux-create -t project 创建 petalinux 工程;9. 使用 petalinux-package --boot 制作 BOOT.BIN 启动文件;4. 将 hdf 文件导入到 petalinux 工程当中并配置 petalinux 工程;
2024-12-06 14:37:50
322
原创 系统移植篇
移植好 U-Boot 以后再移植 Linux 内核,移植完 Linux 内核以后 Linux 还不能正常启动,还需要再移植一个根文件系统(rootfs),根文件系统里面包含了一些最常用的命令和文件。对于 ZYNQ 而言,在引 导过程中,先运行 FSBL 来设置 PS,然后运行 U-Boot 用于加载 Linux 内核映像并引导 Linux, 所以 uboot 对于 zynq 而言是第二阶段引导程序,FSBL 是第一阶段引导程序。被称为类 Unix 操作系统,苹果的 MacOS 也是类 Unix 操作系统。
2024-12-06 09:50:50
616
原创 Zynq搭载Linux系统实现TCP服务器
连接PL网口eth1到PC的网口,要确保两者IP在同一局域网内,例如子网掩码都为255.255.255.0时,设置的eth1的IP为192.168.1.101,PC的IP应为192.168.1.x;1.通过 Vivado 创建硬件平台,得到 hdf 硬件描述文件,将*.sdk 文件夹复制到 ubuntu 系统下,给 petalinux 使用。将boot.bin和image.ub存入SD卡,将Zynq设置为SD卡启动模式,PUTTY连接串口COM,输入用户名和密码。找到Debug目录下编译生成的elf文件,
2024-12-06 08:30:00
2035
原创 Petalinux使用教程
BOOT.BIN包含 fsbl 文件、bitstream 文件和 uboot 文件。该命令将生成设备树 DTB 文件、fsbl 文件、U-Boot 文件,Linux 内核和根文件系统映像。注意:vivado版本、ubuntu系统版本、petalinux版本对应关系,最好使用官方统一版本。开发板连接串口线并上电启动,串口上位机打印启动信息,登录进入。编译完成后,生成的映像将位于工程的 images 目录下。工程当中并配置 petalinux 工程;卡插入开发板,并将开发板启动模式设置为从。
2024-12-05 11:16:13
513
原创 Zynq移植SOEM(1.4.1)主站
工作需要移植soem做主站,就跟大家分享如何移植soem,板载网口四个,实现soem与lwip能共用,下面是移植时系统配置:Zynq7020做裸机开发,PL端扩展多网口FreeRTOS做为实时系统xilinx提供的lwip库方便配置网卡驱动,另外网卡还可用作一般网口。
2024-12-04 11:25:57
1697
原创 基于FPGA的神经网络加速器总结
FPGA-based-DNN-AccelsTitle LUT/ALM DSP Year Platform Frequency (MHz) Throughput (GOPs) Power (W) Energie Efficiency (GOPs/W) Model W_precision A_precison Optimizing FPGA-based Accelerator Design for Deep Convolutional N
2024-03-11 15:46:44
504
原创 一些机器人运动控制项目
控制方法:基于力和力矩的MPC;有ros noetic(c++)和matlab两个版本实现。matlab+gazebo仿真使用了icub-gazebo-wholebody的环境。人形机器人icub的WBC控制。:基于OCS2和ros控制的腿式机器人非线性。步态控制器,它将足部放置解决方案作为输入。宇树机器人改成垂直结构;在gazebo中的一些任务下的模型。带 WBC 的 MPC 和仅。:四足机器狗,强化学习。基于角动量线性倒立摆。
2024-02-27 15:11:12
1475
原创 Hector双足机器人MPC控制
首先根据当前机器人状态选择合适的步态模式(站立。然后根据步态模式生成相应的脚部期望轨迹,)是摆动腿阶段,应该采用另外的。最后更新机器人的控制命令。问题的求解使用第三方库。)是跟摩擦系数有关,
2024-02-27 15:05:37
3230
6
原创 使用vitis hls在C/RTL co-simulation遇到 top function ‘ ‘ is not invoked in the test bench的问题,解决方法
教程实验的过程中遇到的问题;C simulation和C Synthesis都可以通过运行,在co-simulation遇到top function ' example_gemv ' is not invoked in the test bench的问题。在testbench文件include这个头文件,可以通过co-simulation。解决办法:在source文件夹加一个top function的头文件声明。
2024-02-22 14:18:22
1162
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人