- 博客(65)
- 收藏
- 关注
原创 xilinx fpga ddr mig axi
包括野火、正点原子的资料一片内存是 1Gbit 128MByte 16bit DDR3,也就是下图里的 64Meg x 16,mig 里要选 …64M16…,这个关系到地址线的个数,下图中同容量不同位宽的内存芯片的 ‘… addressing’ 部分是有不同的,有的少有的多。在硬件上只要连 A0-A12 就行了,除非是要兼容更大的内存行地址(row addr)总线为 A0-A12,行地址位宽为 13 位 , 行地址数为 8192(2。
2023-11-04 10:52:34 579
原创 fpga axi 总线及时序
AXI Memory Map(AXI MM) 可指定地址,类似数组,AXI Stream 不可以,类似队列(queue、fifo 一回事)
2023-10-29 14:39:22 203
原创 xdma axi-stream
细节:只有电脑启动读取,pcie tx – axi-stream slave 才会使能 ready 信号,然后 pcie rx – axi-stream master 才能向 pcie tx – axi-stream slave 写数据,电脑的 write 才有效。流程:电脑启动读取,然后电脑再在超时时间内写入。或者电脑启动写入,然后电脑再在超时时间内读出。只读取或只写入会一直失败,所以需要双线程进行。
2023-10-14 16:23:25 577
原创 switch case 异步机制的简单实现
而非阻塞状态机里的实现也是查询时间,但要根据其返回值来判断是否到没到时间,到了就手动加一步,下次轮询该任务就可以执行下一步了,没到就退出,就可以轮询下一个任务了。异步是在线程之内的,没有异步机制的话一个线程里就不能同时跑多个任务,多个任务只能挨个进行,就像执行普通函数那样。异步机制本质上就是非阻塞状态机(switch case),单片机常用,这是一个系统化的工程,需要让其所有功能都是非阻塞的,也就是让所有的阻塞的功能都要通过不断查询来获得结果,然后再将这些需要查询的功能每个都单独放一个 case 里。
2023-09-21 20:12:48 231
原创 elementui 表单规则
configuretion_form_rules 和 configuretion_form 里对应项的名字要一致,比如这里的 serialport_name。
2023-09-20 19:48:37 300
原创 tauri vue vite elemrntui linux_arm64
主要插件:rust-analyzer、TypeScript Vue Plugin (Volar)、Vue Language Features (Volar)如果 rust 函数的参数名是蛇形命名,比如“hhh_eee”,.vue 里调用时需要改成驼峰命名,也就是改成“hhhEee”前端使用 invoke 是前端主动进行,而事件监听机制是前后端都可以主动进行,一方主动发,另一方监听。主机为 debian x64,其他系统看参考链接,比如 ubuntu。打开开发者工具:Ctrl + Shift + i。
2023-09-14 21:36:12 432 1
原创 linux espidf vscode
根据里的要求安装一些东西,点插件的首页的“… Package”也能跳转在 vscode 里安装 ESP-IDF 插件,下载服务器选择 Espressif,自定义位置并安装openocd:安装完后执行。
2023-09-10 17:38:11 458
原创 vue elementui 组合式 api 对于容器的滑动条的位置的获取与设置。切换页面可以保持原来的容器里的滑动条位置不变
xxx.vue 页面是一直缓存的,所以使用路由进入钩子(onActivated)设置滑动条的位置。需要使用 addEventListener 的方法获取滑动条的位置。
2023-09-07 20:18:11 423
原创 docker
创建容器:sudo docker create -it --privileged --name container_name image_name:image_version。image_version:镜像版本,如果只有 image_name,则默认使用最新版,也就是 image_name:latest。从 docker 到主机:docker cp container_name:path path。从主机到 docker:docker cp path container_name:path。
2023-08-27 11:02:31 677
原创 c/c++ 的一些知识
_FILE__ // 当前源文件名称__LINE__ // 当前文件里的行号__DATE__ // 编译日期__TIME__ // 编译时间__func__ // 所在函数的函数名。
2023-08-27 10:44:34 209
原创 vmware debian vmtools
不要用 vmware 提供的,桌面最好是 xfec,gnome 用起来可能有问题。最好是用复制粘贴的形式,直接拖拽可能会有问题。
2023-08-11 21:29:49 62
原创 libnode.so arm64
libnode.so.xxx 会生成在 out/Release/ 下,用 file 命令查看其架构应是 ARM aarch64。进入 nodejs 源码。
2023-08-03 11:04:32 143
原创 vue vite ts electron ipc addon-napi c arm64
首次打包会下载 https://github.com/electron/electron/releases/download/v25.5.0/electron-v25.5.0-linux-x64.zip 和 electron-v25.5.0-linux-arm64.zip,如果网络不好就多试几次,或者下载好放到 ~/.cache/electron/ 下。从主进程发向渲染进程,渲染进程还会返回发向主进程:没有类似于 ipcRenderer.invoke 的,需要间接实现。mtr 是主进程发向渲染进程。
2023-07-27 23:49:20 1155
原创 linux 开机启动应用(未登录就启动)
复制 /usr/bin/startx 脚本到自定义位置,比如 /root/start_app.sh,在。
2023-07-23 21:55:44 431
原创 linux 无桌面运行 GUI 程序(electron、arm)
如果是 electron 应用,还需要安装一些包,体积大约是 1GB。将键盘连接到开发板,并在开发板上执行命令运行 GUI 应用即可。开发板事先连接好屏幕,并用串口连接开发板。
2023-07-23 16:41:16 1253
原创 arm(rk3588) 支持 ax210
ax210 使用的 iwlwifi 工具需要内核配置 DVM 和 MVM,而 DVM 和 MVM 可以内置到内核里或编译成模块,如果 DVM 和 MVM 内置则驱动(iwlwifi…ucode 文件)也要内置,如果 DVM 作为模块则驱动也要外置(放到 /lib/firmware 里)。
2023-07-23 14:22:04 633
原创 electron 生成 arm64 的包
会自动下载 https://github.com/electron/electron/releases/download/v25.3.1/electron-v25.3.1-linux-arm64.zip 并打包成 xxx-0.0.0-arm64.AppImage,和打 x64 的包一样的步骤。
2023-07-22 19:53:10 1213
原创 rk3588 编译(使用github公版源码、debian rootfs)和烧录(sd、emmc)
使用 github 上的代码进行编译下载他们的压缩包,自行解压,解压后把文件夹名里的分支名去掉mkimage 需要使用 rockchip 提供的 uboot 里的sd 的启动优先级低于 emmc,如果 emmc 里有固件就不能从 sd 卡启动,所以需要擦除 emmc,可以用 rkdeveloptool 工具来操作使用 debian 系统。
2023-07-22 02:04:17 3281 2
原创 Could not get lock /var/cache/apt/archives/lock...
如果是被别的应用唤起的可能进程里也看不到,等待即可,或者"sudo rm /var/cache/apt/archives/lock...",报错一个就删除一个lock之类的。是apt已经在运行了,不能同时运行多个。比如apt upgrade报这个错误,文件可能是。
2023-07-14 12:32:27 284
原创 [Place 30-575] | [Place 30-675] Sub-optimal placement for a clock-capable IO pin and MMCM pair
我出现了第一种,是在配置 ddr 时使用的 mmcm 的报错,mmcm(Clocking Wizard) 的 Clock Options/Input Clock Information 里的 Source 配置了 Single ended clock capable pin,然后就出错了。时钟引脚用的是带有MRCC标志的,也就是 I/O Planning 里的六边形的引脚。如果此设计可接受此次优条件,则可以使用.xdc文件中的CLOCK_DEDICATED_ROUTE约束将此消息降级为“警告”。
2023-07-13 01:12:13 1799
原创 [Opt 31-67] Problem: A LUT5 cell in the design is missing a connection on input pin I2 ...
在配置 ddr,也就是 mig ip 时编译出现的,原因是实例化的模块的未使用的 input 没有东西。将未使用的 input 固定写一个值,比如“.app_zq_req (1'b0),”
2023-07-12 23:09:41 474
原创 xdma 驱动编译(给arm用)
一般制作的rootfs没有此目录,需要先运行一次depmod,会提示找不到/lib/modules/xxx,然后mkdir -p /lib/modules/xxx,再执行一次depmod,会生成一些.alies、.dep文件,然后再将xdma.ko复制到该目录下,然后重启。如果不行就使用 insmod ./xxx/xdma.ko 来手动挂载一次,然后再重启,并使用 dmesg | grep xdma 来看驱动日志,或者 dmesg | grep pci 看 pci 的日志。
2023-07-11 23:42:51 1963 6
原创 fpga 下载程序到 flash 后重新上电不能自动加载程序
可能是接的调试器没有断电,断电一次再给调试器上电。如果调试器一直连着可以连续断电上电fpga开发板,直到成功。fpga貌似上电后什么程序都不加载则引脚为高电平,而vivado默认.xdc的BITSTREAM.CONFIG.UNUSEDPIN(未使用的引脚)是PULLDOWN,或者自己设置为PULLNONE,这样假如fpga引脚都是高电平就知道是没加载flash里的程序。还可能是器件的约束配置问题,这是正点原子artix7用的器件配置。
2023-07-11 19:30:58 1951
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人