自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 虚拟机ubuntu用wifi adb 调试手机

4)然后,启动虚拟机,在ubuntu下一直看到的是有线连接ens33,这其实就是WIFI模拟出来的。因为usb口要干别的用,必须要用wifi adb来调试,但是不幸,android studio安装在了ubuntu里。2)vmware的“编辑”菜单下“虚拟网络编辑器”,这里需要网络管理员,然后之后也要用网络管理员启动vmware。6)最后用手机wifi热点,解决了。想来是,虚拟机的NAT导致了问题,因为一直提示要在同一WIFI网络内嘛。5)但是一直无法获得ipv4地址,静态配置也不行。

2025-09-23 19:05:14 375

原创 ubuntu 24.04.02安装android-studio

安装不成功,提示找不到package,需要添加i386 architecture。还有ncurse装不了,添加源。

2025-09-17 09:40:59 321

原创 安装ultralytics

运行所需的所有CUDA运行时库和cuDNN库。框架不需要你系统上预先安装一个全局的CUDA Toolkit。而运行已经编译好的程序(如PyTorch)只需要CUDA的。(如Visual C++ Redistributable,相当于CUDA运行时库)。安装PyTorch、TensorFlow的GPU版本时,它们安装的是一种称为。PyTorch用户是“玩游戏的人”,而不是“开发游戏的人”,所以不需要编译器。运行一个用C++写好的游戏(如PyTorch),你只需要游戏的。这个游戏的源代码,你需要完整的。

2025-09-09 16:42:54 407

原创 如何在unreal c++ project (win64)里用grpc

5、用protoc编译proto文件得到h和cc文件。3、安装库到你的unreal project。2、用vcpkg安装grpc lib。6、修改grpc的头文件。5、修改build.cs。

2025-07-01 18:39:45 235

原创 unreal c++的一些坑

因为有一个Intermediate文件夹,在visual studio里显示的可能是这个文件夹的内容。5、经常要,删除sln和.vs文件,用uproject右键重新生成vs project files。4、YOUFILE_generated.h必须是最后一个included。类名有前缀U、A、F之类的,但是文件名不包含这个(不确定是不是必须的)3、在visual studio里添加的文件,未必在正确的目录里。Public/Private架构。2、文件名和类名的关系。

2025-06-24 18:35:00 134

原创 csv导入unreal datatable的几个问题

4、如果是Vector或者Struct,格式类似于。1、第一列必须是名为Name的列,3、csv必须是utf-8编码。2、csv路径不能太深。

2025-06-24 14:19:49 333

原创 《The Kernel in the Mind》以及翻译

相反,它依赖外部上下文:一个通常通过 current 宏访问的 per - 线程指针,该指针告诉内核调用者的身份、可以访问的内存,以及拥有的文件或凭据。Linux 内核为所有进程和线程所共享,每个进程、每个线程、每个 CPU 都运行相同的代码库。然而,系统并未在并发的压力下崩溃,线程之间没有数据冲突,没有泄漏的文件描述符,也没有损坏的状态。(3)在完全在内核空间中运行的长期存在的内核线程(kernel threads)中。从理解内核,抓住本质的角度,这本书,及其翻译版本,真的是最好的学习材料。

2025-06-19 15:49:12 305

原创 python的参数传递

— 重新赋值,是给这个引用的拷贝重新赋值了,所以原来的变量(引用)不变。—— 就地修改,是给引用的内容修改了,所以原来的引用内容也变了。1、不可变的变量(字符串、数字、元组)类似于值传递。2、可变的变量(字典、列表、集合)类似于引用传递。—— 但是传递的是引用的copy,不是引用本身。—— 这里很奇怪,很多语言,字符串是可变的。对比rust,回顾下python的参数传递。

2025-06-16 15:40:14 212

原创 python HEX 转String

import binasciidef hex2str(hexstr): bytestr = binascii.unhexlify(hexstr.replace(" ", "")) rststr = bytestr.decode('utf-8') return rststrhexstr="46 45 31 30 36 36 39 38 36 61 32 30 "rststr=hex2str(hexstr)

2025-04-23 14:33:48 337

原创 Bluetooth: ATT and GATT[准备翻译]

原文【

2025-04-23 13:13:56 869

原创 zephyr cdc-acm-uart

5、zephyr 的device tree里,status 如果没有,默认是okay。3、速率取决于usb速度和操作系统,可以达到1MBytes/s以上。2、直接挂在UDC下面,不需要上层驱动。1、这是usb 通信类的一个接口。

2025-03-12 09:25:00 239

原创 USB Device 的Interface描述

例如,一个复合设备可以有一个 Interface 用于键盘功能,另一个 Interface 用于鼠标功能。0x01, // bInterfaceSubClass: 接口子类代码(1:Boot Interface Subclass):每个 Interface 定义了设备与主机之间的通信方式,包括使用的端点、传输类型(控制、中断、批量、等时)等。描述设备的全局信息,如厂商 ID(VID)、产品 ID(PID)、设备类(bDeviceClass)等。

2025-03-05 15:23:41 1023

原创 nRF52烧写固件后Jink连接不上的问题——readout protection

是Nordic处理器(如nRF52、nRF53系列)中的一种安全功能,用于防止未经授权的访问和读取芯片内部的Flash存储器内容。启用读保护后,调试接口(如SWD/JTAG)和某些存储器访问操作会被限制,从而保护固件的知识产权和安全性。调试接口和Flash存储器访问会被永久锁定,芯片只能运行已烧写的固件,无法再更新或调试。:在开发和调试阶段,建议禁用读保护,以便通过调试接口进行调试和固件更新。:启用读保护后,调试接口会被禁用,因此在开发阶段建议不要启用读保护。增强产品的安全性,防止逆向工程或固件盗用。

2025-03-05 11:51:52 1200

原创 Getting Started with Zephyr

from。

2025-02-10 10:38:55 183

原创 zephyr usb HID Device overview

【代码】HID Device overview。

2025-02-08 17:38:59 254

原创 nrf52840的device tree继承

zephyr的DTS属于逐级覆盖结构,先arch(也就是arm)、再soc、在soc具体封装、再board、再application overlay的顺序。大部分内容都在soc定义好,在board和application里主要进行node properties的修改,包括一些外设的增加。

2025-02-08 15:25:44 655

原创 USB endpoints and their pipes

每个USB设备必须提供一个control endpoint,它得地址是0,被称为default endpoint 或者Endpoint0.这个Endpoint是双向得bidirectional,就是说,Host可以再一次tranfer内从它这里发送和接收数据。可以遍历所有的interfaces,然后遍历每一个interfaces 的settings,并且查看每一个endpoint的properties。一个Pipe与device上的一个endpoint通信,并且那个endpoint拥有一个地址。

2025-02-08 13:35:31 689

原创 cmake的基本概念

输出是build tree,就是建立一个build 目录树,把源代码文件、项目文件、编译连接指示文件等等组织成后续的编译工具能用的格式。1)、用括号包围的arguments,格式 [=[ ..... ]=], 不执行任何转义,变量引用;输入是source tree,当然这个source tree除了你的源代码,还要包含cmake的相关文件,不能直接包含一些特殊字符(比如空格、括号,#,“,\ ,必须用\ ecapse)2)、用双引号包围的arguments,被当作一个argument。

2025-02-07 10:17:28 478

原创 nRF connect SDK 的Application开发官方教程

Application Development

2025-02-06 17:33:51 166

原创 Zephyr Application Configuration Directory

在自定义board之后,如果configure app到这个自己的board上时,需要在configuration文件夹下建立一个与board名字一样的文件夹,并把所需要的configuration files放到这个文件夹下。在nRF Desktop下有这个文件夹,但是如果自定义了板子,那么需要在这个configuration文件夹下也建立这个board的配置文件夹。

2025-02-06 17:22:06 322

原创 zephyr devicetree

【代码】zephyr devicetree。

2025-02-04 20:48:10 1600

原创 各代DDR

DDR内存的规格

2025-02-04 15:36:00 170

原创 nRF Desktop Application

4)最重要的几个模块:hids.c(HID Service module)提供BLE的HID传输服务。2)从框图可以看出,zephyr提供了一些底层驱动,和蓝牙协议栈,NCS提供了Application Event Manager的应用事件管理器,以及HID service。3)基于不同的board(DTS、Overlay)、不同的配置xxx.conf,这个框架实现模块的裁剪和配置,从而实现不同的功能。1)HID Input report模式(这里input是相对主机而言的,也就是对电脑来说是输入)。

2025-02-02 11:33:33 481

原创 nRF Connect SDK 官方教程

nRF Connect SDK Fundamentals - Nordic Developer AcademynRF Connect SDK Intermediate - Nordic Developer Academy

2025-01-30 21:46:09 306

原创 JLINK vCOM & RTT

JLINK除了提供标准的SWD、JTAG接口外,还提供了两个与target device通信的接口,一个是虚拟串口vCOM,

2025-01-30 12:08:25 923

原创 UVC - USB 摄像头

UVC摄像头是Plug&Play的,不需要单独安装任何驱动,webcam则可能需要特殊的驱动。另外UVC摄像头通常特性更多、性能更好。支持的压缩格式:2012年之后的1.5版本的UVC标准才加入H.264的支持。USB有很多class,通信、语音、HID、UVC是视频类。

2025-01-17 19:02:45 1786

原创 nRF Desktop & Zephyr USB & HID

官方教程:HID state moduleis required for generating reports from input data. It is responsible for the following operations:Aggregating data from user input sources.Tracking state of the HID report subscriptions.Forming the HID reports in either report or boot

2025-01-16 19:00:27 1817

原创 固件升级OTA、DFU非常好的一篇文章

nRF Connect SDK(NCS)/Zephyr固件升级详解 – 重点讲述MCUboot和蓝牙空中升级

2025-01-15 09:59:03 324

原创 RTS & CTS in Nordic UART

It is also possible to use hardware flow control with UART using two extra lines called RTS (request to send) and CTS (clear to send).UART connection with hardware flow controlThese wires are cross-coupled between the two devices. If hardware flow control

2025-01-14 22:43:51 210

原创 nRF connect SDK 的 Application Event Manager

从NCS(nRF Conenct SDK)文档里看,提倡的也是这个架构,就是使用一个Application Event Manager来完成Event的转发,这与ROS、NuttX、QNX等系统的工作方式类似。Zyphyr是wind-river的项目发展过来的,并且声称是“微内核”的,微内核意味着各种app、kernel的服务、driver都尽量是解耦合,最好是以独立task或者thread方式运行的。APP_EVENT_INFO_DEFINE : 定义EVENT的Profiler信息,调试用的。

2025-01-13 14:43:44 357

原创 用nRF connect SDK创建application

在官方文档里,需要把创建的app放到ncs顶层目录,然后使用Mange SDKs里的Create New West Manifest来创建west.yml。有三种类型的application structure,主要区别是application和nRF connect SDK之间的位置关系不同。就是把application的项目代码放到SDK的顶层目录里,并定义west.yml来指定SDK的配置。或者说把SDK和Application当作一个整体项目,官方叫法是west Workspace。

2025-01-13 11:32:04 343

原创 1TOPS究竟是多大的算力

考虑加法和其它的,大约10MOPs=0.01TOP,所以1s钟可以做100次1024点DFT。40K点的实数乘法,同样考虑加法和其它的,大约100KOPs,所以1s钟可以做10000次1024点FFT。大约1000x9x100=1M的乘法,与1024点DFT类似。考虑加法、池化,logistic等函数,预计<30FPS。1024x768的图像,3x3的卷积核,101层。考虑数据搬移调度,还会再少一些。

2025-01-03 17:42:48 697

原创 c++ 的 return ( ) [ ] {expressions; } 表达式

【代码】c++ 的 [ ]( ) {expressions;} 表达式。

2025-01-02 17:46:26 173

原创 FreeCAD在线教程

一本很好的FreeCAD新手入门教程。

2024-12-30 09:36:22 466

原创 python的plotly绘图

frames——主要用于多帧动画,是由多个Frame构成的,每个Frame就是(data、layout,name)构成的。data—— 主要是图形数据(注意不是数据本身,而是绘图的数据,比如trace,box,surface等)2、plotly顶层,是plotly.express和plotly.graph_objs两大类接口。express用于快速绘图,基本一条命令可以完成绘图,缺点是可控制的元素少。4、plotly可以设置控制菜单、按钮等交互控制元素,也放在layout里。

2024-12-23 14:31:22 324

原创 nordic nRF connect SDK 安装

当然这期间,感觉git的设置还是有必要,除了前面文章提到的缓冲区、http version,还有一个git config --global core.compression 0。1、用nRF connect Desktop的toochain manager安装,是个GUI工具,但是一直失败,都是git相关的错误,尝试了各种git配置,都没有成功。2、用VS code 的插件安装,先安装toolchain,然后安装SDK,一样失败,错误不太一样,但是失败的更快。

2024-12-22 09:56:03 954

原创 将anaconda的python以及脚本设置为全局

将anaconda3以及相关的脚本和库增加到Path全局环境变量。

2024-12-22 09:44:39 216

原创 github的连接失败和断连

nordic的SDK需要用west管理多个github repo,但是总是失败。2、一个是curl HTTP/2 not closed cleanly。1、一个是 443 failed after xxx ms。即使github用的是https,http不配置也不行哦。

2024-12-20 22:55:14 505

原创 matplotlib画3D图

input(...)用来防止在VS Code运行结束,图形自动关闭。老版本的一些方法,显示不出来。

2024-12-19 16:32:18 131

原创 nordic vscode开发环境配置

2、VSCode里配置扩展:nRF connect for VS Code Extendsion Pack会把其它官方需要的VS Code工具(nRF Connect SDK for VS Code;1、安装之前需要,下载J-Link工具和驱动,以及nRF Command Line Tools,如下描述。3、安装nRF connect for Desktop 是包含在nRF connect SDK 里的,下载。双击安装,然后打开应用界面,安装Apps,主要是Toolchain Manager。

2024-12-18 16:48:35 512

空空如也

空空如也

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

TA关注的人

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