- 博客(88)
- 资源 (9)
- 收藏
- 关注
原创 Cadence Bom Variants (变种BOM) 功能使用
如下图所示,基于ESP32设计了一个多功能的IMU模块,其中像导航模块、RTC均为可选焊接,对外接口也可根据使用要求选择RS422/485、TTL、CAN或者百兆网。
2024-04-25 22:50:49
1817
原创 用C代码实现环形缓冲区(ring buf)
因嵌入式项目需要,串口接收的数据有很高的周期性发送频率,原方式通过查询接收标志再接收会导致数据丢失和硬件buf溢出等问题,因此考虑开足够大的环形缓冲区(ring buf)实现,接收中断中仅实时的进行buf写操作,应用程序进行循环查询处理,将数据处理和数据接收解耦合,本文采用VS Code + Gcc编译器编写了测试验证程序,对ringbuf进行了测试,参考文章链接,并非照抄,而是在原文基础上进行了改进,并封装成单独的.c文件。单个C程序可正常编译,但多个C程序编译报错(未定义的函数名)
2024-04-10 22:39:40
1149
2
原创 OpenCV学习笔记-环境搭建
OpenCV(Open source computer vision)是一个跨平台的计算机视觉和机器学习开源库,可用于开发实时的图像处理、计算机视觉和机器学习应用程序。本系列学习笔记基于Visual Studio2022和Python 3.7.9及OpenCV4.8进行。本文根据贾老师的课程(课程链接),详细描述了环境搭建的步骤。
2023-10-15 22:05:00
725
原创 Allegro17.4 3D模型映射
Allegro 17.4 支持2种模型映射方式,分别为:工具和3D Canvas主菜单:Setup -> Step Package Mapping…主菜单:View -> 3D Canvas通过最近几天实际测试,发现3D Canvas工具虽然操作稍微繁琐,但没有这个问题。另外,工具映射有时会导致模型显示异常,本文经过测试给出了有效的解决办法,详见下文。知道的问题产生的原因,其实就不难解决,如果发现精度不能调高的时候,试着进行如下设置,再尝试修改。
2023-09-21 13:00:29
3443
3
原创 用python将txt文本文件转换为二进制文件
用python将txt文本文件转换为二进制文件,文本文件内容为十六进制数据,在某些嵌入式程序烧写时必须使用二进制bin文件。其中第二个参数表示进制数(如:2进制、8进制、16进制)
2023-06-27 23:01:47
5442
2
原创 Streamlit 使用介绍
通常不需要设置参数。如果你需要调整对象显示的顺序,就可以先设置一个容器,然后将渲染后的内容写入容器里。如果是序列,例如[3,2,1],则将该行分为三列,各列的宽度分别为最大宽度的3/6、2/6、1/6。st.empty也是一个占位容器,不同的是,st.empty只接收“一个”对象的写入,再次写入会覆盖此前的内容。st.form也是一个容器,用法与st.container类似,可以用with语句,也可以链式调用。注意,在st.form中,只有st.form_submit_button允许有回调函数。
2023-04-28 15:24:17
6778
原创 OrCAD Capture CIS使用MySQL数据库
MySQL Servers 和MySQL WorkBench。中的流程对OrCAD软件进行配置。
2023-04-22 20:05:51
1445
原创 用python脚本从Cadence导出xdc约束文件
在Cadence设计完成带有FPGA芯片的原理图的时候,往往需要将FPGA管脚和网络对应关系导入vivado设计软件中,对于大规模FPGA管脚较多,一一对照查找难免出错,Cadence软件自带导出工具可支持UCF和CSV两种格式。本文利用Cadence导出的CSV文件,编写转换脚本进行转换。
2023-04-22 19:49:29
1746
1
原创 从Allegro进行反标
确认PCB中只对可交换管脚(如:DDR总线、FPGA同一bank等)调整了管脚,如下图所示,并需检查反标后的网络是否连接正确。最好将之前的设计文件和反标后的设计文件用orcad自带的设计比较工具比较,更改的地方。通过反标,可以将Allegro中交换的管脚或重新编排的位号,一键更新到原理图中。5. 检查反标生成的swp文件。
2023-04-20 22:06:20
1341
原创 OrCAD原理图检查
在DSN文件上点右键,选择“Part Manager”,在元器件管理窗口选中需要替换的元器件(可按Ctrl或Shift多选),点右键选择“Link Database Part”,在CIS库管理界面查找将要选用的元器件,如下图,然后在待选器件上点右键选择“Link Database Part”。准备将要比较的两个PCB设计文件,打开a.brd设计文件,点击tool->Design Compare…**技巧:**此处,可进行表格复制、粘贴等操作,即可以在Excel中进行增量填充,并直接粘贴进来。
2023-04-20 21:54:33
6379
原创 Python基本语法
学习Python已有一段时间,该语言简洁、灵活、可以跨多种平台,自开始学习至现在,一直对此充满热情,目前已经在桌面式window平台、桌面式linux平台、嵌入式linux平台进行了应用层的软件开发,并在桌面式windows和桌面式linux平台结合QT进行了一些编程,本人记忆力非常差,所以希望编写该资料进行总结,方便编程过程中查找。本资料所有章节组织均按照各个技术点进行分类,并不是一本一步一步学习的教材,请读者注意。另外本书会随着本人学习的不断深入,逐步完善。
2023-04-20 12:59:01
508
原创 C6678-缓存和内存
Core3和Core4分别映射1MB的共享空间到0x0_0c000000和0x0_0c100000的物理内存,分别向各自的共享内存起始地址写100个数据。这是一个单镜像的多核应用实例,每个核心共享代码段,因此代码段物理地址相同,数据段通过MPAX分别映射到不同的物理地址空间,但实际上对于每个核心的应用程序而言,所访问数据段的逻辑地址相同。注意:复位后Segment0映射起始地址为00000H,但内部CGEM配置空间不可映射,因此实际上只映射了4MB共享内存。MPAX的段寄存器,分别对应16个段。
2023-04-19 20:35:54
2108
2
原创 C6678-控制GPIO输入/输出
值得一提的是,6678的GPIO支持自回环模式,设置为输出模式后输出值可通过 输入寄存器回读,为硬件自测试提供的测试手段,但要注意的是,作为输出的GPIO不可有外部输出信号与之相连,防止损坏IO。多个系统事件可以映射到同一个主机中断,系统事件号越小优先级越高(如:事件号5和8映射到同一主机中断,事件5优先级高)。本工程采用DSP裸机调用CSL库对16个GPIO进行了输出和输入测试,引自数据手册第19页。注:n 表示核心号。
2023-04-18 22:25:39
1536
原创 CCS5.5环境设置
打开断电管理器,Windows->Show View->Breakpoint,右键断点属性,设置为Read Data from File,并配置文件路径、是否循环读取、起始地址、长度等参数。☆工作空间:Windows->Preferences->General->Workspace->Tex file encoding: Other。工程:工程文件名右键->Properties->Resource-> Tex file encoding: Other。保存以下代码为py文件并运行。
2023-04-18 21:48:19
3535
原创 C6678开发概述与Sys/bios基本使用
Sys/bios使用时首先需要创建平台,然后基于平台创建软件工程。b) 配置平台名、路径、芯片c) 配置存储器。
2023-04-18 19:24:56
3074
原创 AutoCAD使用技巧
分解后所有文字即为多行文本可编辑模式,如需进一步改为文字可再次使用X(EXPLODE)命令进行分解。M命令-选择对象-输入0,0(即x、y坐标值),移动到原点。使用X(EXPLODE)命令进行分解;
2023-04-18 18:42:19
784
原创 SS928官方vo例子适配mipi屏
最近新购一款SS928的开发板,但其外部只提供了HDMI显示接口,官方未适配MIPI屏,考虑到调试的时候每次找HDMI显示器不方便,就自己画了个板子匹配了一款mipi的显示屏,屏幕为:8.0 inch IPS MIPI 800x1280 AML08021016-31D Amelin Electronic Technology。一般由厂家提供,主要通过mipi命令模式向屏幕写入寄存器配置信息,我这个屏幕参数组成为{地址,长度,数据1,…01 EB-SS928-DC-393型开发板用户快速入门.pdf。
2023-04-02 12:10:10
1855
原创 Linux搭建nfs服务器
Linux采用虚拟机安装的Ubuntu18.04(网络连接方式为桥接模式),安装后采用Win10访问。增加2个QWORD值:AnonymousUid,AnonymousGid 都为0;欲共享多个文件夹复制以上内容,修改路径即可,记得每次修改完。文件,默认的设置,不用修改。NFS 服务器配置选项在。安装nfs客户端和管理工具。重启电脑,注册表生效即可。
2023-03-23 20:42:16
573
1
原创 如何高效的将一维数据转为二维数组
在DSP中进行图像处理或矩阵运算时,会遇到连续存储的二维数据,为了更加高效的采用二维数组的方式进行数据处理,我们需要将连续存储的一维数据转换为二维数组,少量数据直接赋值即可,但对于大批量数据(比如一副1080p的图像)来说显然用赋值copy的方式会大大降低执行效率。本文基于CCS5.5开发环境进行测试,处理器为TI6678,采用软件仿真的方式以验证代码的正确性。
2023-03-02 21:28:32
638
原创 Cadence问题汇总
Setup-Design Parameters…另外有一种一劳永逸的办法是在env文件中增加以下配置参数(未验证,仅供参考)Tool-Creat Netlist…
2022-12-22 15:27:14
1101
1
原创 UG导入导出
方法同上,只有一点要注意:STP导出一定要选AP214格式,之前用sw就发现低版本格式没有颜色信息。一般3D扫面出来是STL文件,我们可以导入后作为参考,导入后是无法编辑的。另外导出STL文件可给客户查看,但不能编辑,有利于保护知识产权。,其他设置项根据实际需要配置。导入导出方法参考上节。
2022-12-11 16:20:29
2437
原创 UG鼠标和键盘操作
将鼠标放在欲选择的对象上悬停,当出现三个点时点击左键,选择不同类别。工具栏空白处点右键-定制-快捷方式中设置。按下鼠标中键,相当于点击了确认按钮。12.0: 鼠标点击以下位置。空白区域双击鼠标左键。视图-样式下拉-同上。退出对话框/取消设置。
2022-12-11 15:31:27
4189
原创 UG环境设置
该文件编码必须保存为ANSI,我保存成utf-8就显示乱码,实际上UG软件其他中文乱码问题也可能是类似原因。打开多个模型文件,选择窗口-窗口布局-选择适合的布局样式。主页-用户默认设置-常规-目录-部件文件目录。该文件为只读文件,建议保存到其他位置再替换。一般选择高级角色,功能较全。
2022-12-10 14:55:25
2470
原创 使用gitblit在Windows上搭建git服务器
gitblit基于java开发,可在企业内部搭建简易git服务器,我已经在windows Server 2016 和Win10系统上进行了验证。
2022-11-07 20:17:49
1196
原创 esp32外设使用-MCPWM故障处理模块使用
每个MCPWM 外设都连接来自GPIO 矩阵的3 个故障信号(FAULT0,FAULT1 和FAULT2)。这些信号用于指示外部故障状况,并且可由故障检测模块预处理后生成故障事件。故障解除时仍保持PWMxA/B输出保护状态故障解除时恢复PWMxA/B故障前输出状态。
2022-10-04 16:30:23
662
原创 esp32外设使用-MCPWM载波模块使用
载波模块主要用在PWM输出信号与驱动器之间通过变压器隔离的应用,使用高频载波对PWM进行调制输出。如下图所示的波形,第一个脉冲宽度可单独配置,目的在于提供高能量脉冲以接通电源开关;随后的脉冲可整体调整频率和占空比,用于保持上电的状态。
2022-10-03 17:34:04
1079
原创 esp32外设使用-MCPWM捕获模块使用
捕获模块包含3 个完整的捕获通道,通道输入信号CAP0,CAP1 和CAP2 来自于GPIO 矩阵。由于GPIO 矩阵的灵活性,CAP0,CAP1 和CAP2 可以通过任一管脚输入配置。多个捕获通道可同时采集同一个管脚,每个通道可设置独立的分频系数。因此,可以通过后台硬件用多种方式处理捕获信号,而不直接由CPU 处理。一个32 位计数器(用于产生时间戳),可以被同步(重载相位寄存器的配置值)。每个通道支持:上升、下降、上升或下降三种模式。
2022-10-03 16:13:16
2402
3
原创 esp32-C3 CAN接口使用
兼容ISO 11898-1协议(CAN2.0)支持标准帧(11bit ID)和扩展帧(29bit ID)格式Bit速率从1Kbit/s-1Mbit/s工作模式:正常模式只听模式(不影响总线)无响应模式(传输期间无需ACK,可方便自检)64Byte大小的接收BUF支持接收单/双过滤支持错误处理。
2022-09-28 22:23:41
8331
8
原创 ESP32-C3中断使用
通过设置技术参考手册表8-1中的各个MAP寄存器可映射对应外设中断到31个cpu中断,可设置多个外设中断到同一个cpu中断,任何一个中断触发即可触发cpu中断,通过查询中断状态,确定中断来源。本示例程序为USB_Serial_JTAG外设分配一个中断,在中断服务程序中将主机发来的数据回传,注意由于硬件缓冲区只有64Byte,因此建议一次发送数据不要大于64Byte。属性将中断服务函数放置在内部RAM,避免频繁读取flash延迟影响程序执行效率。Esp32-c3技术参考手册表8-1列出了所有的外部中断源。
2022-09-26 21:18:35
3097
原创 ESP32-USB Serial/JTAG Controller使用
ESP32-c3内部带有1个USB Serial/JTAG控制器,可用于下载flash程序、JTAG调试、虚拟串口通信等功能。硬件框图如下:支持usb全速设备(12Mbps),不支持高速(480Mbps)固定为CDC-ACM设备(Communication Device Class - Abstract Control Model)64byte缓冲区大多数操作系统满足即插即用。
2022-09-22 21:32:54
10141
5
原创 FreeRTOS学习笔记-MessageBuffer
MessageBuffer一次只能接收1条Message,StreamBuffer则根据长度接收MessageBuffer在接收缓冲区<1条消息大小时,不会接收,而StreamBuffer则会将数据截断接收。
2022-09-12 17:49:05
1020
原创 FreeRTOS学习笔记-任务通知
每个任务都有一个32位的通知值,在创建任务时该值被初始化为零。任务通知是直接发送到任务的事件,它可以解除对接收任务的阻塞,并可以选择更新接收任务的通知值。任务通知功能与信号量类似,但更简洁。
2022-09-12 13:14:10
438
原创 FreeRTOS学习笔记-事件组
事件组允许任务在“阻塞”状态下等待一个或多个事件的组合发生。当事件发生时,事件组解除阻塞所有等待同一事件或事件组合的任务。
2022-09-11 21:47:20
442
streamlit使用测试代码.7z
2023-04-28
用python脚本从Cadence导出xdc约束文件-csv2xdc
2023-04-22
srio发送到DSP-OK
2023-04-19
c6678内存映射示例
2023-04-19
orcad创建大规模IC表格
2022-04-04
Allegro_SMT手工焊接辅助程序
2022-04-04
Zynq_xc7z020配合复旦微QspiFLASH_FM25F32烧写配置程序
2022-04-04
Anaconda3-2019.10-Windows-x86_64.7z.003
2020-02-13
Anaconda3-2019.10-Windows-x86_64.7z.002
2020-02-13
Anaconda3-2019.10-Windows-x86_64.7z.001
2020-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人