自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (8)
  • 收藏
  • 关注

原创 cadence 之 Allegro-封装更新

注意,右键在Quick Utilites->Refresh symbol进行更新时和Update Symbols功能一致,是更新全部对应的封装。选中Placement Edit模式,后选择需要更新封装的器件,右键选择Refresh symbol instance即可。根据需要更新的器件封装名称进行更新操作,注意勾选的元器件参数项。logic-part logic 可以修改红色画线部分。1、更新整个工程对应的某种封装。2、更新单个器件封装。

2024-03-09 02:18:48 298

原创 cadence 之 Allegro PCB封装 3D模型

通过上面的学习让我们看到了全新的Cadence Allegro 17.2 3D PCB效果,可以允许工程师在3D环境下对PCB存在的问题进行更加直观的检查和发现。执行以上步骤之后出现如下图所示的,设置输出类型以及单位,注意[x]勾选下面的选项,不然输出的stp文件导入三维设计软件会导致所有的器件都集中在中心一点。通过高亮方式,可以让工程师清楚元件在PCB所处在的位置,便于观察设计中存在的问题。右侧的Visibility 用来控制3D模式下可视化显示的对象,可以对PCB板中涉及到的层进行打开关闭的显示。

2024-03-09 02:17:48 1269

转载 svn无法查看日志显示离线问题

如下图所示,在svn本地仓库右击–》选择TortoiseSVN–》点击版本库浏览器后,等待弹框加载完毕后再关闭,再重新查看日志(show log),显示正常了。如上图所示点击Show log后,报如下错误。

2023-12-30 08:23:43 196

原创 MDK5__配色方案的修改

与MDK主题相关的文件有两个,在X:\Keil_v5\UV4路径下:global.propglobal.prop.def其中global.prop.def是系统默认的主题配置如果修改过字体等,系统会生成一个global.prop。

2023-07-30 01:25:27 1160

原创 cadence Allegro17.4 走线、焊盘、铜皮上显示网络名

在ALLEGRO中,可以在Clines Shapes Pins 显示网络名称,这样很方便布线。

2022-10-09 08:50:27 3934 1

原创 cadence 之 allegro设置网络飞线以及网络颜色和取消设置的颜色

allegro 网络或元器件颜色的配置和取消在使用软件过程中非常重要。

2022-06-20 12:30:59 8091

转载 禁止Altium designer(其他软件同样适用)联网的配置操作

1、打开控制面板→系统和安全→Windows defender防火墙,找到高级配置## 2、 在高级配置中分别设置出站规则和入站规则,如下下操作(仅示范入站规则的操作,出站规则相同)。点击入站规则,找到新建规则。3、 选择规则类型为程序,点击下一步。4、选择此程序路径,点击浏览,找到你想要禁止联网的程序,点击打开,该程序的安装路径会自动加载进去,点击下一步。## 5、在操作处,选择阻止连接,点击下一步。6、选择应用该规则的时间,此处建议全选(当然可以根据自己的需求来选择),然后点击下一步##

2022-05-12 19:57:18 5077

原创 cadence Allegro之测量时显示两种单位(mil & mm)

1、确认你工程默认的单位是mil还是mm (本工程默认mil)点击菜单进入下面对话框设置,蓝色是菜单,黄色是设置单位2、在下面的选项中选择另外一项mm即可(如本身是mm,这里选择mils)3、结果如下图参考 大神博客 https://blog.csdn.net/tianpu2320959696/article/details/110239207...

2022-03-16 15:44:25 4719

转载 【无标题】Source Insight 4.0打开一会就闪退 解决方法

得好好得Source Insight,结果今晚打开一会还没反应过来就闪退了,点什么都没用,一开始还以为是什么软件冲突导致的,结果发现不是。查了一圈,得到了各式各样的答案,结果都不符合我的情况,比如什么工程文件误删、source insight版本问题、临时文件过多、非管理员身份运行等等导致的,结果都不是。如果你像我一样,经过种种办法都没能解决你的困境时,先不急着卸载重装,不免试试右键Source Insight点击属性,具体操作如下图:...

2022-02-28 23:58:47 378

转载 彻底卸载Keil4和Keil5

https://blog.csdn.net/qq_37277944/article/details/116244080

2022-02-12 11:04:21 15672 2

转载 RK3399 Android 7.1 删除repo后编译报错

CPU:RK3399系统:Android 7.1瑞芯微使用的是 repo 来进行代码管理,但我们需要用 git 来管理,所以就删除了 repo,但是编译就报错,如下:Server is already runningBad request, see Jack server log[ 1% 231/20884] build out/target/product/rk3399_mid/gen/EXECUTABLES/iw_intermediates/version.cFAILED: /bin/bas

2021-11-02 15:12:45 304

转载 linux 中mdelay() 与msleep()的区别

在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然msleep和mdelay都有延迟的作用,但他们是有区别的.1.)对于模块本身mdelay是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的.是需要等待多少时间就会真正等待多少时间.msleep是休眠函数,它不涉及忙等待.你如果是msleep(10),那实际上延迟的时间,大部分时候是要多于10ms的,是个不定的时间值.2.)对于系统:mdelay() 会占用cpu资源,导致其他功能

2021-09-14 08:39:11 6313

原创 regmap

一、前言regmap是在 linux 内核为减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件寄存器的模型框架。此外,regmap在驱动和硬件寄存器之间增加了cache,减少底层低速 I/O 的操作次数,提高访问效率;当然实时性会有所降低。基于代码代码复用的原则之一,Linux内核后引入了regmap模型,将寄存器访问的共同逻辑抽象出来,只需初始化时指定总线类型、寄存器位宽等关键参数,即可通过regmap模型接口来操作器件寄存器。当然,regmap同样适用于操作cpu自身的寄存器。将i

2021-08-07 14:32:10 1570

原创 Linux内核配置之Kconfig

一、概述Kconfig是按照特定的格式来书写的文件,menuconfig程序可以识别这种格式,然后从中提取出有效信息组成menuconfig中的菜单项。在修改内核配置或驱动移植时,需要在Kconfig文档中修改或添加一些内容。经典 博文 网址二、目录到导入和菜单的创建2.1 内核源码顶层目录的Kconfig## For a description of the syntax of this configuration file,# see Documentation/kbuild/kconfi

2021-07-28 17:58:52 7625 1

原创 程序 阅读记录

1、snprintf() 将可变个参数按照format格式化成字符串函数原型为int snprintf(char *str, size_t size, const char *format, …)。将可变参数 “…” 按照format的格式格式化为字符串,然后再将其拷贝至str中。 snprintf(camera_device_name, sizeof(camera_device_name), "%d", i);将可变个参数(…)按照format格式化成字符串,然后将其复制到str中。(1)

2021-07-19 15:19:12 68

原创 ARM如何指定函数运行在RAM--KEIL

https://www.freesion.com/article/4295203711/stm32中的程序是在RAM里还是flash里执行?ARM如何指定函数运行在RAM–KEILhttp://www.360doc.com/content/15/0921/14/11400509_500490600.shtml

2021-07-19 14:04:14 476

转载 电机控制中数学运算的程序优化方案

引言电机控制应用设计传统上采用微控制器(MCU)或数字信号处理器(DSP)来运行电机控制算法。在研究永磁同步电机(PMSM)矢量控制的时候,坐标变换的三角函数运算、观测器的迭代、锁相环的鉴相环节(用到了三角函数)都比较消耗电机主控芯片的计算能力。在考虑算法实现的时候,都需要针对主控芯片的实际性能进行一定优化,才能确保算法能够顺利运行。这里我总结下电机控制中对程序算法优化的办法。数据的概念浮点数浮点数是一种小数表示方法。  IEEE浮点数标准定义了两种基本的格式:以4个字节表示的单精度格式和以8个字

2021-07-19 13:57:28 1364

原创 深度摄像头相关的链接

全面解析深度摄像头(TOF Camera)的原理深度感知解决方案 | 深度摄像头的三种主流技术优劣对比

2021-07-16 16:36:47 199 1

转载 Ubuntu 16.04 解决机械硬盘挂载错误问题!

## ntfs先安装ntfsfix 工具:sudo apt-get install ntfs-3g然后修复从挂载报错信息中查看要修复的硬盘分区,比如修复 /dev/sdb1,执行:sudo ntfsfix /dev/sdb1执行完即可正确挂载了。exfat在Terminal中输入:$ sudo apt-get install exfat-fuse执行命令之后即可挂载exFAT格式磁盘。...

2021-07-12 13:48:34 545

转载 Linux内核中dev_info、dev_dbg、dev_err及动态调试

概述目前在kernel驱动代码中,都不再建议直接使用printk直接添加打印信息,而是使用dev_info,dev_dbg,dev_err之类的函数代替,虽然这些dev_xxx函数的本质还是使用printk打印的,但是相比起printk:支持打印模块信息、dev信息支持动态调试(dynamic debug)方式下面简述下这几个dev_xxx函数的基本使用规则,以及动态调试使用方式。dev_info():启动过程、或者模块加载过程等“通知类的”信息等,一般只会通知一次,例如probe函数;d

2021-07-09 18:19:22 3388

原创 内核打印信息——printk()

在Linux中,内核打印语句printk()会将内核信息输出到内核信息缓冲区中,内核缓冲区是在kernel/printk.c中通过如下语句静态定义的:static char __log_buf[__LOG_BUF_LEN] __aligned(LOG_ALIGN);内核信息缓冲区是一个环形缓冲区(Ring Buffer),因此,如果塞入的消息过多,则就会将之前的消息冲刷掉。printk()定义了8个消息级别,分为级别0~7,级别越低(数值越大),消息越不重要,第0级是紧急事件级,第7级是调试级

2021-07-09 18:03:14 3410

原创 Linux内核调试之printk()变形 dev_info、dev_dbg、dev_err

目前在kernel驱动代码中,都不再建议直接使用printk直接添加打印信息,而是使用dev_info,dev_dbg,dev_err之类的函数代替。注意:这三个函数声明于linux/include/linux/device.h使用上述三个打印函数时打印信息格式如下驱动模块的名字: + 具体的信息如:在运行的linux系统设备上,插入鼠标,就会打印出鼠标的相关信息;[ 402.134068] input: USB Optical Mouse as /devices/soc0/soc/2100000

2021-07-09 17:15:40 7549

转载 电机控制基础——定时器捕获单输入脉冲原理

1 问题引出在单片机与嵌入式开发中,某些场景需要捕获传感器的高电平(或低电平)信号的持续时间,如红外解码信号、编码器输入信号等。如下图,以单一的一段高电平输入信号为例,如何测量这段高电平的时间呢?从直观上理解,就是要不断的检测这个信号,当信号从0变到1时,记录一个时间,再从1变到0时,记录另一个时间,两个时间差就是高电平的持续时间了。那具体要怎么编程呢?这就要用到定时器了。2 定时器的捕获原理上篇介绍了定时器的输出功能,本篇是利用定时器的输入功能,来计算脉冲时长。如下图:定时器的

2021-06-21 16:16:16 1749

转载 Linux下rootfs的制作详解

一、分析1. 文件系统简介理论上说一个嵌入式设备如果内核能够运行起来,且不需要运行用户进程的话,是不需要文件系统的,文件系统简单的说就是一种目录结构,由于 linux操作系统的设备在系统中是以文件的形式存在,将这些文件进行分类管理以及提供和内核交互的接口,就形成一定的目录结构也就是文件系统,文件系统是为用户反映系统的一种形式,为用户提供一个检测控制系统的接口。根文件系统,我认为根文件系统就是一种特殊的文件系统,那么根文件系统和普通的文件系统有什么区别呢?由于根文件系统是内核启动时挂在的第一个文件

2021-06-21 16:00:41 4236

转载 MPU9250传感器

MPU9250 内部包括 3 轴陀螺仪、3 轴加速度计和 3 轴磁力计,这3个功能输出都是 16 位的数字量; 可以通过常用的数据总线( IIC) 接口和单片机进行数据交互,传输速率 400 kHz /s。陀螺仪的角速度测量范围±2000(° /s),具有良好的动态响应特性。加速度计的测量范围最大为±16g( g 为重力加速度),静态测量精度高。磁力计采用高灵度霍尔型传感器进行数据采集,磁感应强度测量范围为±4800μT,可用于对偏航角的辅助测量。MPU9250 自带的数字运动处理器DMP硬件加速引擎,可

2021-06-21 15:53:37 6373

原创 Linux文件系统解析

Linux以文件的形式对计算机中的数据和硬件资源进行管理,也就是彻底的一切皆文件,反映在Linux的文件类型上就是:普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。而这些种类繁多的文件被Linux使用目录树进行管理, 所谓的目录树就是以根目录(/)为主,向下呈现分支状的一种文件结构。不同于纯粹的ext2之类的文件系统,我把它称为文件体系,一切皆文件和文件目录树的资源管理方式一起构成了Linux的文件体系,让Linux操作系统可以方便使用系统资源。所以文件

2021-06-21 15:48:27 306

原创 TTS语音模块

https://www.icxbk.com/article/detail/2174.html

2021-06-21 10:36:15 607

转载 华为太空人智能表盘代码仅需100行?

摘要:我来告诉你他到底有什么秘密,风儿风儿吹风儿风儿吹吹!听说最近太空人智能表盘很火啊,那么如何用C++做一个好玩的智能太空人表盘呢?安排!软件工具:Vsiual studio 201x1、安装Vsiual studio首先在官网下载安装Vsiual studiohttps://visualstudio.microsoft.com/zh-hans/下载完成后傻瓜式安装即可,如果你电脑上已经安装过Vsiual studio软件了这一步就可以忽略了。2、安装EasyX图形库.

2021-06-21 10:33:51 349

转载 ARM内核科普

从1985年ARMv1架构诞生起,到2011年,ARM架构已经发展到了第八代ARMv8。Cortex-A32/35/53/57/72/73/77/78采用的都是ARMv8架构,这是ARM公司的首款支持64位指令集的处理器架构。3) ARM11之前的处理器和指令集架构ARM11芯片之前,每一个芯片对应的架构关系如下:4) ARM11之后处理器和指令集架构ARM11芯片之后,也就是从ARMv7架构开始,ARM的命名方式有所改变。新的处理器家族,改以Cortex命名,并分为三个系列,分别是

2021-06-21 10:30:02 3561

转载 简单工厂模式、工厂模式、抽象工厂模式比较

前言:设计模式已经经历了很长一段时间的发展,它们提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。一般我们会说设计模式一共有23种,总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命

2021-06-21 10:26:21 804

转载 9个提高代码运行效率的小技巧你知道几个?

1. 减小程序计算量1.1 示例代码for (i = 0; i < n; i++) { int ni = n*i; for (j = 0; j < n; j++) a[ni + j] = b[j]; }1.2 分析代码  代码如上所示,外循环每执行一次,我们要进行一次乘法计算。i = 0,ni = 0;i = 1,ni = n;i = 2,ni = 2n。因此,我们可以把乘法换成加法,以n为步长,这样就减小了外循环的代码量。1.3 改进代码int..

2021-06-21 10:20:14 2153

转载 C 语言编程 总结

判断失败而非成功下面是一段简化过后的代码片段:if (physap_alarm_init() == RV_SUCC) { if (trx_alarm_init() == RV_SUCC) { if (bucket_init() == RV_SUCC) { if (main_bhp_init() == RV_SUCC) { /@@* 正常代码 */ } else { /@@* 错误代码 */ } } else { /@@* 错误代码 */ } } el.

2021-06-21 10:04:51 95

转载 臭名昭著的MOS管米勒效应

如下是一个NMOS的开关电路,阶跃信号VG1设置DC电平2V,方波(振幅2V,频率50Hz),T2的开启电压2V,所以MOS管T2会以周期T=20ms进行开启和截止状态的切换。首先仿真Vgs和Vds的波形,会看到Vgs=2V的时候有一个 小平台 ,有人会好奇为什么Vgs在上升时会有一个小平台?MOS管Vgs小平台带着这个疑问,我们尝试将电阻R1由5K改为1K,再次仿真,发现这个平台变得很小,几乎没有了,这又是为什么呢?MOS管Vgs小平台有改善...

2021-06-19 17:16:14 3687 1

转载 MOS管的知识之基本理解

今天的文章简单总结一下MOS管,如下是本文目录。1.场效应管分类场效应管分为结型(JFET)和金属-氧化物-半导体型(MOSFET)两种类型。JFET的英文全称是Junction Field-Effect Transistor,也分为N沟道和P沟道两种,在实际中几乎不用。MOSFET英文全称是Metal-Oxide-Semiconductor Field-Effect Transistor,应用广泛,MOSFET一般称MOS管。MOSFET有增强型和耗尽型两大类,增强型和耗尽型每

2021-06-19 17:10:26 923

转载 详解二极管限幅电路和钳位电路

二极管最重要的特性是单向导电性,利用这一特性可以设计很多好玩实用的电路,本文主要讲述限幅电路和钳位电路。正限幅电路正半周时且Vin的电压大于等于0.7V时,二极管导通,Vout会被钳位在0.7V;在负半周和Vin电压小于0.7V时,二极管是截止状态,所以Vout=Vin,即Vout波形跟随Vin波形。负限幅电路在正半周时,二极管截止,Vout=Vin,即波形跟随;在负半周Vin电压小于等于-0.7V时,二极管会导通,Vout电压会被钳位在-0.7V。双向限幅电路双向限幅是

2021-06-19 17:03:34 1440

转载 N-MOS和P-MOS驱动应用实例

MOS在电路设计中是比较常见的,按照驱动方式来分的话,有两种,即:N-MOS管和P-MOS管。MOS管跟三极管的驱动方式有点类似,但又不完全相同,那么今天笔者将会给大家简单介绍一下N-MOS管和P-MOS管的工作原理,并结合自己实际的应用来给大家分享一下如何来驱动N-MOS管和P-MOS管。首先,我们先来看一下N-MOS管和P-MOS管分别在电路中的电气符号:...

2021-06-19 16:50:20 10706

转载 error C4996: ‘strcpy‘: This function or variable may be unsafe.解决方法

用VS2012写程序时,经常遇到error C4996: ‘strcpy’: This function or variable may be unsafe.之类的错误提示。网上查原因是因为这些C库函数很多没有内部检查,微软担心这些函数可能造成栈溢出,所以改写了这些函数,并在原来的函数名字后加上_s以和C库函数区分,比如strcpy->strcpy_s,fopen->fopen_s等。解决方法:(1)、把原来所有的函数名全部改成微软改写后的函数名,但是这样比较麻烦。(2)、属性》c/c++

2021-06-19 16:46:32 4485 1

转载 cadence allegro记录

1.鼠标设定: 在ALLEGRO视窗 LAYOUT时,每执行一个指令例:Add connect, Show element等鼠标会跳到Option窗口,这样对layout造成不便:控制面版>滑鼠之移动选项中,指到预设按钮(或智慧型移动):取消“在对话方块将滑鼠指标移到预设按钮”设置。Text path设置: 在ALLEGRO视窗 LAYOUT时,不能执行一些指令:Show element, Tools>report:应急办法:蒐寻一个相应的log文档copy到档案同一路径即可;Se

2021-06-12 10:16:02 2193

转载 XFCE 桌面

在服务器上安装一个桌面环境有时还是有用的,因为某些应用程序可能需要一个桌面界面,以便高效而可靠的管理。 Xfce 的一个卓越的特性是其内存消耗等系统资源占用率很低,因此,如果服务器需要一个桌面环境的话它会是首选。一、Xfce 桌面的功能特性另外,它的一些值得注意的组件和功能特性列在下面:Xfwm 窗口管理器Thunar 文件管理器用户会话管理器:用来处理用户登录、电源管理之类桌面管理器:用来设置背景图片、桌面图标等等应用管理器它的高度可连接性以及一些其他次要功能特性一、在 Ubuntu

2021-05-31 14:36:59 1982 2

转载 【转】四大Linux图形界面赏析:KDE、Gnome、Xfce、LXDE

https://blog.csdn.net/chantal20080409/article/details/82986283

2021-05-31 14:09:46 1642

基于嵌入式实时操作系统的程序设计技术 完整版

这本书教你UCOS的高级程序设计 是你迈向UCOS高手的必经之路!!

2017-05-14

LCD_RGB接口和MCU接口区别

目前一般彩色LCD的连接方式有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式等

2015-12-01

ALLEGRO 16.6菜单学习

allegro 16.6 菜单的注释,对cadence初学者帮助很大。可以使你快速掌握软件功能。

2014-12-30

555定时器应用电路

555定时器是一种将模拟功能与数字(逻辑)功能紧密结合在一起的中小规模单片集成电路。它功能多样,应用广泛,只要外部配上几个阻容元器件即可构成单稳态触发器、施密特触发器、多谐振荡器等电路,是脉冲波形产生与变换的重要元器件,广泛应用于信号的产生与变换、控制与检测、家用电器以及电子玩具等领域。

2012-08-23

AVR mega16学习板例程

很详细的avr代码。按照此代码操作,对于入门的同学来说们方便不少。

2011-10-26

STM32固件库V3.0使用南

如何在IAR 5.30上 使用STM32的3.0.0版 固件库进行应用开发

2011-06-24

KEIL C51所支持的C语言和汇编语言混合编程的方法

51单片机是最早的单片机,也是在国内应用最广泛的单片机,为大家所喜爱!但执行速度较其它单片机较慢。因此在编程时更加要注重程序的执行效率及编程上的技巧处理,最大限度的发挥其性能,满足项目开发的实际需要。在嵌入式开发中,C语言具有可移植性强和可读性好等优点,而汇编语言的高效、快速及可直接对硬件进行操作等优点又是C语言所难以达到的,本帖就为大家介绍一下KEIL C51所支持C和汇编混合编程的方法,

2011-03-30

空空如也

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

TA关注的人

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