自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 面向基于实时操作系统的嵌入式系统软件开发方法小结

(1)数据流设计 > 以流水线的形式设计“指令处理数据流”; > 包括确定从新指令输入系统到执行器执行的整个过程中所涉及到的存储空间、存储结构、所需线程以及工作任务。 (2)类图设计 > 提取“指令处理数据流”中所有的对象(操作系统内核对象),设计出“系统类图”; > 该图应包含系统中存在的所有线程,以及线程之间的同步/通信机制。 > 其中,线程的同步/通信机制包括但不限于:标志位、信号量、消息队列、共享内存、管道和套接字。...

2020-08-17 21:16:20 296

原创 数据结构基础学习——字符串匹配KMP算法

数学功底偏弱,最近花了1天时间才理解了用于字符串匹配的KMP算法。KMP算法是由 Knuth、Pratt 和 Morris 三个人同时发现的,因此取名为KMP,并不是什么功能性短语的缩写。该算法主要希望:“在字符串匹配的过程中尽可能地减少重复比较的次数,从而提高匹配效率”。假设有源字符串S和模式字符串T,现在需要设计一个函数来查找S串中与T串相同的子串所在的位置i,若子串不存在,则返回0。typedef struct string{ uint Length; char *Ch;} S

2020-09-20 17:13:51 378

原创 Visual Studio 跨项目目录包含头文件,相对目录的设置(C语言项目)

当我们在一个解决方案中创建了多个项目时,有的“子项目”(如图中的DS_List)需要包含“主项目”(如图中的DS_Test)目录中的头文件(如图中的ds.h文件),若不做配置,则会出现“无法打开源文件”的报错,如图:此时我们需要配置“子项目”的属性,添加“主项目”目录的相对路径,这样即使我们更换了设备,只要解决方案内的目录结构不变,程序也能正常运行。在“配置属性 ——> C/C++ ——> 常规 ——> 附加包含目录”中输入:$(SolutionDir)\主项目目录名,即可

2020-09-13 16:14:29 3347

原创 Cortex-M4内核与STM32的关系:

Cortex-M4处理器的内部资源 STM32F4系列提供的CPU外部资源 总线矩阵:总线矩阵是STM32单片机内最重要的硬件结构之一,通过总线矩阵灵活地将Cortex-M4处理器的内核总线(I-Code、D-Code、System BUS)与众多系统级外设(保证CPU正常运行)(如:片内SRAM、片内FLASH、数据DMA总线)或速度要求极高的应用级外设(为用户的具体应用提供服务)(如:以太网DMA总线、USB DMA总线等)相连接。...

2020-08-21 19:47:19 5108

原创 Xilinx 7 Series FPGA I/O引脚分配设计原则 杂记:

I/O引脚分配工作步骤 1. 选择FPGA器件考虑器件的资源需求,结合PCB上关键路径的位置考虑器件封装的选择。2. 选择器件的配置模式不同的配置模式对应了不同的配置引脚,某些配置需要用到一定数量的用户IO,串行配置模式占用少,并行配置模型占用多。而在配置完成后这些用户IO可以被用于其他功能。但是在配置过程中,必须保证这些IO不受用户其他应用的信号的干扰。若IO引脚数量充足,最好还是不要复用这些配置用IO引脚。3. 选择吉比特收发器(GT)引脚GT...

2020-05-13 14:33:31 11142 1

翻译 Xilinx官方教学视频学习笔记 —— 7 Series FPGA Clocking Resource

时钟功能输入(CCIO)每个Bank内都有自己的Clock输入引脚,每个Bank有4个,可配置为单端或差分时钟;这些引脚直接与Bank内的CMT连接,而不用作时钟输入时的时候就是一般的IO;其中,2个IO具有多时钟域时钟功能(Muti-Region Clock Capability, MRCC),而另2个IO则只有单时钟域时钟功能(Single Region Clock Capability, SRCC)。时钟网络 ...

2020-05-11 22:46:55 3501 4

转载 STM32的PDR_ON引脚,比较好的解释(转载+补充)

一些 STM32 产品能够使能/失能内部电源监视器,通过 PDR_ON 引脚电平进行控制实现。PDR_ON 引脚电平为低时, 内部电源监视器关闭;当 PDR_ON 引脚电平为高时,内部电源监视器使能。内部电源监视器影响的功能包括:POR(上电复位)、PDR(掉电复位)、BOR(欠压复位)、PVD(可编程电位检 测)、VBAT功能。其中,VBAT功能包括:维持后备寄存器/存储器,为 RTC、L...

2020-05-07 14:46:16 19148 3

原创 STM32在应用编程(IAP)详解

什么是IAP?STM32单片机的程序烧写有多种方法,分别为:JTAG/SW、ISP、IAP > JTAG的方式需要专用的烧写工具,在产品布置到现场后,更新产品程序比较麻烦。 > ISP即为“在系统编程(In System Programming, ISP)”,通过ISP软件调用USART、USB、CAN等外设向内部Flash烧写新程序。该方式可以直接使用常见...

2020-05-04 18:12:48 3274

原创 通俗易懂的USB详解(转载+补充)

USB作为一种串行接口,应用日益广泛。如同每个工程设计人员必须掌握I2C,RS232这些接口一样,我们也必须掌握USB。但是USB的接口协议实在有点费解,Linux UHCI驱动作者之一Alan Stern曾经就说过:“The USBdocumentationis downright evil. Mostof it is just crap, written by a committ...

2020-05-03 12:10:57 3950

原创 FPGA的IO选择——最短路径原则

前段时间在教科书上了解到一个说法:为了提高设计的时序性能,优秀的布局设计应该要考虑高速多位宽信号(估计是指600MT/s以上)传输IO口的选择应该尽量选择位于芯片两侧的IO口,而对速度、时序要求没那么高的控制信号(如AD/DA、DDS、PWM、普通SPI、开关控制等)则尽可能选择位于上下部的IO口。这是因为在FPGA内BRAM和DSP乘加器都是自上而下呈条带状分布的,在水平方向上进行数据的传输和处...

2020-04-23 01:50:58 1479

原创 Xilinx ISE、Synplify、Modelsim之间的关系,为什么会存在比ISE更专业的FPGA开发工具?

虽说Xilinx的ISE内自带了综合和仿真工具,但是在网络论坛上很多人都说这两个功能模块(特别是仿真模块)并不好用而且不专业,所以建议专业用户使用Synopsys公司提供的Synplify、Synplify Pro和Synplify Premier等专业HDL综合软件进行综合,而又使用Mentor公司提供的Modelsim软件进行前/后仿真。那么问题来了,不是说Xilinx公司是FPGA器件的...

2020-04-20 14:15:59 1399

原创 NOR Flash、NAND Flash、SPI Flash、CFI Flash

Flash Memory(闪存,Flash不是缩写!)是非易失存储器,可以对其内部称为块(Block)的存储器单元进行擦写和再编程。任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先对相关“扇区”或“存储块”执行擦除。Flash存储器主要分为NOR Flash和NAND Flash两大类:NOR Flash是Intel公司于1988年推出,...

2020-04-16 22:34:57 1039

原创 Cortex-M4 浮点数的存储 和 FPU(Floating Point Unit) 杂记

浮点数的IEEE 754标准简而言之,该标准采用了以2为基数的科学记数法记录实数,并将记数范围上的4个边界值定义为不同的特殊值。 上述元素之间的关系为:符号域S记录了浮点数的符号;阶码域P -偏移量Bias构成了指数(Exponent)...

2019-12-25 23:17:26 3387 1

原创 Cortex-M4 存储模型(Memory Model)与MPU(Memory Protection Unit)

关于CPU对齐访问的基础知识:现代计算机是以Byte 为主要单位存储数据的,CPU在访问数据寻址时用到的地址是指向各个数据的首个Byte的地址。如:一个Char类型数据占用8个Bits,存放在一个Byte内,该Byte的地址即为该数据的存储地址;而一个int类型数据占用32个Bits,就需要存放在4个Bytes内,并以第1个Byte的地址作为该数据的存储地址。以下转载自:https:/...

2019-12-25 23:08:14 5340

原创 Cortex-M4 异常模型(Exception Model)与NVIC(Nested Vectored Interrupt Controller)杂记

NVIC与CPU的关系:NVIC嵌入Cortex-M处理器内,两者可以并行处理很多异常响应任务。“异常”类型:复位(Reset)、不可屏蔽中断(NonMaskable Interrupt, NMI)、硬件故障(Hard Fault)、存储管理故障(Memory Management Fault)、总线故障(Bus Fault)、使用故障(Usage Fault)、监管者...

2019-12-20 20:52:35 2184

原创 Cortex-M4 编程模型(Programmer Model)与 核心寄存器

以下寄存器的地址从低到高排列:R0 ~ R12(均为32bits)通用寄存器,其中R0~R7为低地址通用寄存器,R8~R12为高地址通用寄存器;SP(R13)(32bits)栈指针寄存器(Stack Pointer),实际上存在两个R13寄存器,分为主栈指针MSP(Main Stack Pointer)寄存器和过程栈指针PSP(Process Stack Pointer)寄存器。任...

2019-12-18 11:02:11 3006

原创 有限元方法的数学逻辑 (静力学分析为例)

2019-05-07By Frank Tse

2019-05-07 22:32:14 721

原创 Marlin架构解析

1. Marlin 主函数流程图:2. Marlin固件的数据流:3. Marlin固件的泳道图:

2017-11-23 19:29:24 7002

原创 为什么要开源?

2017-11-22_了解开源生态1. 开源生态的诞生历史 ——> 貌似很自然,是软件发展(70-80年代)的必然结果,在80年代自由软件运动的开端,他们推广了一个叫作GPL的许可协议。在90年代后期,很多组织开始使用LAMP(Linux、Apache、MySQL、PHP)开源技术栈,几乎所有人都可以开发几近免费的软件系统。开源软件收到了很多没有钱的初创公司的支持,开源软件便开始占领市

2017-11-23 19:22:52 2248

原创 了解ST的新工具:STM32CubeMX

2017-11-6_了解ST的新工具:STM32CubeMX(初始化代码生成器)1. 现在已知可用于开发STM32的开发环境有:(1)Keil MDK(+VScode);(2)IAR(+VScode);(3)Visual Studio+Visual GDB(很久不更新HALL库)+CubeMX(standalone);【http://bbs.eeworld.com.cn/t

2017-11-23 19:14:53 1232

7系列FPGA 官方资料.zip

Xilinx 7系列FPGA 官方资料报货:产品列表(选型指导)、用户指导、应用笔记、数据手册等PDF文档。

2020-05-03

空空如也

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

TA关注的人

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