自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(263)
  • 资源 (88)
  • 收藏
  • 关注

原创 GD32F4xx官方库踩坑记录

移植FreeRTOS+LWIP。参照官方例程:GD32F4xx_Demo_Suites_V2.6.2.rar地址:兆易创新GigaDevice-资料下载兆易创新GD32 MCUkw=GD32F4。

2024-04-10 09:16:46 821

原创 在GD32F4xx上移植FreeRTOS+LWIP

还有,官方支持包:FreeRTOSv202212.01.zip。

2024-04-08 16:57:18 325

原创 GD32F4xx移植UIP

OpenBLT中的XCPonNET模板使用的就是uIP。

2024-03-28 12:41:12 286

原创 STM32/GD32的以太网DMA描述符

继续梳理以太网的DMA描述符。

2024-03-28 10:29:35 399

原创 在GD32F4xx上移植LWIP

今天继续总结LWIP的移植过程。

2024-03-27 18:55:10 597

原创 STM32F4x7标准库带操作系统移植LWIP

上一篇解读了使用STM的标准库,移植不带操作系统版本的LWIP。这里再梳理一下,带操作系统版本的差异。

2024-03-26 18:39:23 217

原创 STM32F4x7标准库移植LWIP

使用GD芯片的我们,都会去参考ST的代码。可是呢,有一个很大的问题就是,ST早就提供HAL库了,而目前GD还只有标准库。在移植LWIP的时候,会有很多不便。好在天无绝人之路,找到了一份ST的官方例程,是使用标准库来移植LWIP的。参考资料。

2024-03-26 18:17:20 897

原创 软件断点指令(bkpt)导致的硬错误(HardFault)

死机。

2024-03-14 19:29:23 587

原创 bin转hex,hex转bin,一个工具全搞定

在app应用程序中,把boot的代码嵌入进来,就可以自动生成一个完整的程序,不再需要手动合并boot和app了。使用SEGGER的J-FLASH,新建一个工程;导入程序数据(bin文件,或者hex文件都可以)

2024-01-28 13:52:35 561 2

原创 电流测量原理

由于直接测量电流信号是很难的,但是测试电压信号比较容易,因此通常都是先将电流信号转换为电压信号,将电压信号进行调理后送至 CPU,CPU 通过 AD 转换得到一个码值,软件读出该码值,先根据主控的硬件设计参数计算出电压值,再根据电流传感器的类型和参数计算出原始的电流值。

2023-12-13 09:36:53 155

原创 平衡电桥检测高压绝缘电阻的原理

检测绝缘漏电的高压拓扑如下:BMU需要连接BAT+,BAT-和PE线,并测量电池总压(Ubatt)和负母线电压(Un),并计算出正母线电压(Up)。

2023-12-13 09:32:51 986

原创 使用JLink仿真器实现调试打印的N种方法

这是最古老也是最简单的方法。电脑上面插一个USB转TTL,然后与MCU的UART_RX/UART_TX/GND连接起来。PC端再打开一个串口调试助手。两边的波特率一致,就可以收到MCU发过来的打印信息了。

2023-12-11 17:16:54 675

原创 在代码中忽略特定的编译告警

在移植别人的代码时,有些告警看着不爽,但又不想去改动原来的代码。编译告警代码为111:: statement is unreachable。即可忽略特定的编译告警。其中,111是告警代码。

2023-11-09 10:09:08 200

原创 在C代码中找到栈顶的位置并访问栈空间

在主循环中写一个任务,检查栈是否溢出。

2023-10-26 15:09:27 204

原创 什么是KEIL的微库(microlib)?

从上面的缺失功能可以看出,在一般的控制应用中使用Mircrolib就足够了。MicroLib是针对以C语言编写的基于ARM嵌入式应用程序的高度优化的库。与ARM Compiler工具链附带的标准C库相比,MicroLib具有明显的代码大小优势。微库与标准C库区别因为针对Arm的嵌入式系统,通常存储(代码)资源相对较小,为了使其能用上标准函数,工程师就针对Arm嵌入式系统,对标准C库进行了优化,以减小代码量。1.代码(数据)量更小(对比上图)。

2023-10-26 11:40:44 1117

原创 VirtualBox Win7 虚拟机 共享文件夹设置

VirtualBox虚拟机版本:6.1.46主机Host:Win11虚拟机:Win7-32位。

2023-09-22 16:00:28 1553 1

原创 KEIL调试正在运行的程序

有时程序跑着跑着就飞了,但此时却没有接仿真器,不能停下来看运行状态。如果重新启动调试,会破坏现场。有没有办法attach到应用程序上调试呢?答案是肯定的。

2022-12-14 15:00:07 2015 2

原创 RT-Thread的设备模型

RT-Thread有多种内核对象,其中设备device就是其中一种。

2022-12-13 09:48:46 770

原创 RT-Thread的启动流程

其中,rt_application_init()函数会创建“main”线程,线程函数为main_thread_entry(),该函数会调用用户的main()函数。最后,调用rt_system_scheduler_start()启动调度器。后面,rt_thread_idle_init()函数会创建idle线程。

2022-12-09 09:57:44 777

原创 PID控制中参数对结果的影响示意图

PID控制中的三个参数(比例参数Kp、积分参数Ki、微分参数Kd) 对控制结果的影响.

2022-12-01 15:54:09 1194

原创 ARM官方推荐的JTAG/SWD接口

JTAG / SWD接口。

2022-09-07 16:08:16 2938

原创 更改注册表实现SVN与加密系统图标覆盖共存

安装TortoiseSvn后,图标覆盖(ShellIconOverlay)功能是正常的。但是在安装加密系统后,加密系统的图标把svn的图标又覆盖了,导致只能看到加密系统的图标,无法显示svn版本管理的状态其实,windows是可以支持多重图标覆盖。在注册表中的配置位置:这里可以配置多个图标覆盖的策略。优先级顺序为:从上到下。第一个策略的优先级最高。如果想提高某个配置的优先级,可以在该配置项的前面加一堆空格。再按F5刷新一下,就可以看到顺序。重启电脑后可生效。...

2022-06-18 14:33:15 760

原创 CCS安装编译器的方法

TI公司的编译器叫CGT:code generation tools先下载所需版本的CGT到TI官网找CGT在www.ti.com.cn上搜索CGT,即可找到C2000-CGT:C2000代码生成工具-编译器也可以直接到这里找:C2000-CGT IDE、配置、编译器或调试器 | TI.com.cn查看 TI C2000-CGT IDE、配置、编译器或调试器 的下载量、描述、特性和支持文档并开始设计。https://www.ti.com.cn/tool/cn/C2000-CG

2022-05-27 09:48:58 7984 4

原创 VisualSVN-Server安装时报错 “Service ‘VisualSVN Server‘ failed to start. Please check VisualSVN Server log

问题现象安装环境:Windows Server 2016 Standard安装程序:VisualSVN Server V4.0.4安装过程中出错:提示信息为:Service 'VisualSVN Server' failed to start. Please check VisualSVN Server log in Event Viewer for more details.分析过程打开“事件查看器”,找到VisualSVN Server应用程序,查看服务日志,却什

2022-05-20 11:49:16 1167

原创 VisualSVN Server版本推荐

一,关于VisualSVN和VisualSVN Server这两个是不同类型的软件。1,VisualSVNVisualSVN for Visual Studio是集成在VS上的SVN客户端插件,功能和tortoiseSVN类似。2,VisualSVN Server这个是服务器端的软件,用于管理SVN用户和版本仓库。3,VisualSVN Repository Configurator版本仓库配置工具。非管理员也可以远程配置经授权的版本仓库的用户权限。二

2022-05-19 10:54:57 3323

原创 再说说EPWM模块的全局加载

之前总结了EPWM模块的影子寄存器及其加载机制。EPWM模块的影子寄存器_booksyhay的博客-CSDN博客对于1型的EPWM模块,功能比较简单。影子寄存器主要针对的是PRD和CMP两类寄存器。TBPRD及其影子寄存器PRD的影子寄存器由TBCTL[PRDLD]标志位来控制。当PRDLD=0(默认值)时,使能影子寄存器。使能后,只有时基计数器TBCTR等于0的时候,TBPRD才从影子寄存器加载到活动寄存器。当PRDLD=1时,PRD的影子寄存器无效,软件写入TBPRD时立即生效。CMPA/CMPB

2022-04-23 15:07:54 1363

原创 EPWM模块的影子寄存器

对于1型的EPWM模块,功能比较简单。影子寄存器主要针对的是PRD和CMP两类寄存器。TBPRD及其影子寄存器PRD的影子寄存器由TBCTL[PRDLD]标志位来控制。当PRDLD=0(默认值)时,使能影子寄存器。使能后,只有时基计数器TBCTR等于0的时候,TBPRD才从影子寄存器加载到活动寄存器。当PRDLD=1时,PRD的影子寄存器无效,软件写入TBPRD时立即生效。CMPA/CMPB及其影子寄存器下面以CMPA为例进行说明。CMPB的情况是一样的。

2022-03-24 16:29:04 2719 1

原创 详细总结EPWM模块之间的同步

活动寄存器与影子寄存器EPWM模块中很多寄存器都分为活动寄存器和影子寄存器。典型的,比如计数周期寄存器PRD,平时在中断里面更新PRD的值来改变PWM波的频率时,并不是立即生效,而是等到计数器计到0后在下一个计数周期中生效。TBPRD寄存器的加载在早期的ePWM模块设计中,PRD寄存器的加载与以下配置有关:说明:Active Period Register Load From Shadow Register Select0:The period register (TBPRD)

2022-03-23 14:45:11 6577

原创 JTAG管脚定义及详细说明(转)

SWD模式:JTAG模式

2022-03-02 10:04:56 5003

原创 TMS320F280025(DSP)配置ADC超出范围就关闭PWM

项目需求硬件设计时没有使用CPU的TripZone功能实现过压保护/过流保护。希望通过DSP的配置来实现。设计思路就是将ADCx.EVTy通过ePWMX-Bar送到ePWMx的TripZone。具体配置ADC的后处理模块(PPB)本款DSP有2路ADC,每路ADC有4个Post-Processing Block。每个PPB模块可以输出一路事件和一路中断信号。这里就利用ADC后处理模块的“超过上限”事件来实现。需要配置的有:PPB模块使能; ADCPP..

2022-01-13 10:14:50 4282 7

原创 Qt打包生成exe: 无法定位程序输入点

问题现象编译完成后,直接执行会提示系统错误:找不到Qt5Gui和Qt5Core.dll等动态库。解决措施使用windeployqt.exe打包工具,一次性收集所需要的dll文件,与exe文件一起发布。先编译出release版本的exe文件,拷贝至一个空的文件夹中。再执行windeployqt.exe注意:用哪个工具编译的(mingw或者Visual Studio等),就调用对应的bin目录下面的windeployqt程序。然后,所需要的dll都被拷贝过来了:...

2021-11-19 17:42:28 4159 1

原创 Qt 5.15 在线安装

版本选择Qt 5.15 是 Qt5 最后的LTS,同时 Qt 5.9 LTS 也将于5月31日终止。Qt 5.15 在线安装 - QTCN开发网 - Powered by phpwindhttp://www.qtcn.org/bbs/read-htm-tid-88668.html从 Qt 5.15 开始,开源版本,无论是不是 LTS,不再提供编译后的独立安装包,只能在线安装。如果确实需要离线安装包,则要购买 Qt for Small Business 产品。https://www.qt.

2021-11-09 17:59:56 1402

原创 clang代码格式化风格选项详细说明

clang官方给出了代码风格配置时的各个选项的说明:Clang-Format Style Options — Clang 13 documentationhttps://clang.llvm.org/docs/ClangFormatStyleOptions.htmlclang内置了以下几种基础风格: LLVMA style complying with theLLVM coding standards GoogleA style complying withGoogle’s ...

2021-11-03 10:28:35 1284 2

原创 VSCode中针对C语言的代码格式化配置

默认格式化工具打开设置(Ctrl + ,) ,选择“用户”配置,找到“文本编辑器” - “Default Formatter”:安装了C/C++插件后,即可选择:C/C++ ms-vscode.cpptools键入时自动格式化建议使能该选项:设置->文本编辑器->格式化->Format on Type:勾选后,当敲回车键时即可看到格式化的效果。C/C++格式化在用户 -扩展 -C/C++中,找到C_Cpp: Formatt...

2021-11-02 18:50:17 21554 5

原创 对高精度PWM(HRPWM)的理解

传统PWM的精度假定CPU工作频率为100MHz。PWM模块的计数频率也一样,则计数周期为10ns。假设PWM的开关频率为1MHz。使用向上计数模式。那么,计数周期PRD等于100.此时,比较值只能在0~100里面选。占空比的精度只有1%。也就是说,只能产生24%、56%这种整数的占空比,不能产生26.5%这种占空比。如果计数模式是使用“向上向下计数”,那么精度还会再降一半。这个精度是由PWM的“计数器和”“比较器”的原理决定的。因为PRD和CMPA都是整..

2021-10-21 18:01:33 13626 23

原创 28388D上电时从BOOT跳转到main过程分析

上一篇

2021-10-19 09:51:31 1262

原创 28388D上电过程汇编代码分析

复位向量复位向量的地址统一在0x3F FFC0处。0x003FFFC0处保存的是复位向量的地址,其值为0x003FD2AE。复位后CPU的状态PC指针指向0x003FD2AE,栈指针SP指向0x0400,XAR0寄存器为0xFFFFFFFF,其他寄存器全为0.进入InitBoot0x003FD2AE地址处保存的是厂家固化的InitBoot。汇编指令为:InitBoot的汇编源码可以找到其汇编源代码:D:\ti\c2000\C2000Ware_..

2021-10-18 17:11:26 1106 1

原创 28388D上电过程汇编代码分析

复位向量复位向量的地址统一在0x3F FFC0处。0x003FFFC0处保存的是复位向量的地址,其值为0x003FD2AE。复位后CPU的状态PC指针指向0x003FD2AE,栈指针SP指向0x0400,XAR0寄存器为0xFFFFFFFF,其他寄存器全为0.进入InitBoot0x003FD2AE地址处保存的是厂家固化的InitBoot。汇编指令为:InitBoot的汇编源码可以找到其汇编源代码:D:\ti\c2000\C2000Ware...

2021-10-18 17:07:43 745

原创 CCS中的IER和IFR寄存器:Symbol ‘IER‘ could not be resolved

问题现象main函数初始化时,关闭CPU的中断使能,清除不断标志,一般都是这么写的: IER = 0x0000; IFR = 0x0000;但是,CCS却提示:Symbol 'IER' could not be resolved可是呢,编译整个工程时,也不会报错。<Linking>Finished building target: "DCDC.out""D:/ti/ccs1040/ccs/utils/tiobj2bin/tiobj...

2021-10-16 11:17:03 8980 7

原创 Windows计算器:%号的作用

Windows计算器的“%”按钮的工作方式就和那些很廉价的口袋四则计算器相同(虽然现在它们一般有六种功能了)。首先你必须理解的是,%按钮不是设计来服务数学家和工程师的。它其实是被用来做些日常的简单计算。因此它的行为对你来说看起来像是个bug一样飘忽不定神乎其神。但其实对于普通人来说,这样的设计完美符合日用场景——至少理论上是这样。站在普通人的角度上来看,假设你想要计算一件72块的毛衣在加上5%税后是多少钱。于是你抽出口袋里的计算器(或者直接打开Windows计算器)并输入72 + 5% =...

2021-10-13 14:00:21 1677

MC33772B-SDS=缩略版数据手册:技术数据

MC33772B-SDS=缩略版数据手册:技术数据

2023-11-01

SVN常用操作指南 - v1.2-增加常见问题.pptx

为公司内部员工编写的SVN操作培训材料。 讲述了SVN的工作原理和模型,对常用的操作进行图文并茂地讲解。特别提到,文档合并时为什么会导致冲突,如何解决冲突。

2020-01-04

ARM汇编语言基础20181102.pptx

为公司中级员工编写的嵌入式软件开发培训教材。 内容包括:ARM汇编基础,ARM汇编指令格式。学习后可以更深入地理解单片机的工作原理,更深入地理解C程序。

2020-01-04

ARM Cortex-M中断与异常20181010.pptx

为公司员工编写的嵌入式软件开发基础知识培训教材。 内容包括ARM Cortex-M内核的基本知识,中断的概念,ARM中断的机制。

2020-01-04

C语言指针详细解读20180904.pptx

自己编写的C语言指针培训教材。适用于公司内中级水平的嵌入式软件开发工程师。 内容包括:C语言指针的概念、用法、多级指针、函数指针等高级用法。

2020-01-04

VECTOR MICROSAR Technical References(AUTOSAR的BSW所有模块的技术参考手册)

【重新上传】VECTOR MICROSAR Technical References (AUTOSAR技术参考手册),包含BSW中各个功能模块的详细说明。

2019-04-22

MICROSAR(AUTOSAR)自动生成代码在VS2008上的练习

MICROSAR(AUTOSAR)自动生成代码在VS2008上的练习. 可以调试运行。 配合VECTOR的AUTOSAR培训材料使用。

2019-03-21

VECTOR_AUTOSAR入门与实践培训材料(PPT)

VECTOR_AUTOSAR_IN_PRACTISE培训材料。 包含以下内容: 00_AIP_Agenda.pptx 00_AIP_Introduction.pptx 01_AIP_OperatingSystem.pptx 02_AIP_SoftwareComponents.pptx 03_AIP_IO.pptx 04_AIP_Communication.pptx 05_AIP_ModeManagement.pptx 06_AIP_Busses.pptx 07_AIP_MemoryAbstraction.pptx 08_AIP_Diagnostics.pptx List of contents_AUTOSAR4.doc

2019-03-21

精通Matlab+GUI设计(第2版)陈垚光

《精通Matlab+GUI设计(第2版)陈垚光》

2019-02-28

Simulink仿真及代码生成技术入门到精通_孙忠潇(含随书程序)

《Simulink仿真及代码生成技术入门到精通》高清扫描版PDF,带书签,包含随书程序(模型文件)。 =============================================== 内容简介 本书围绕Simulink软件的仿真和代码生成技术,从原理上展开阐述,把握整体,注重细节,让读者深刻认识Simulink的运行原理。结构化的章节安排和丰富多彩的案例展示了Simulink在模型建立、工业流程仿真及嵌入式控制等方面的应用技巧和方法。本书不拘泥于界面操作,而结合MATLAB脚本语言展示其自动控制模型仿真、代码生成过程的强大功能,带领读者把握宏观架构,攻克细节问题。 全书共19章,分为入门篇、进阶篇和高级篇3个篇章。入门篇介绍Simulink软件及其基本操作和构成要素;进阶篇讲解Simulink的运行机制和原理、自定义模块及模块封装、自定义模块库的建立和Simulink环境的编辑等功能,并讲解如何使用M语言为模块发布help文档,以及通过工业实例展示综合应用GUI控制Simulink进行仿真的方法及代码生成的应用方法;高级篇重点介绍“基于模型设计”的开发流程、嵌入式C代码生成技术原理及TLC语言编写方法,并展示如何在嵌入式应用中使用TSP。 本书可作为高等院校计算机、电子、自动化类专业计算机仿真及嵌入式课程的教学用书,也可供嵌入式系统研发工程师、软件公司研发工程师及其他有关专业科研人员参考。 ========================================== 下面概述本书内容: 第1章介绍了Simulink的基本操作方法,教会读者如何启动Simulink,如何拖曳出第一个模块,如何建立并保存第一个模型。 第2~4章分别介绍了Simulink的模块、信号和子系统,讲解了三者的分类、特性及属性等。这三者互相依赖、相辅相成,共同构成Simulink模型。 第5章讲解Simulink模型的仿真,包括仿真的启动方法、模型仿真的调试方法、数据记录及绘图方法,以及如何提高模型仿真的速度。 第6章解决一个常见的问题——如何将模型框图保存为高清晰图片,让读者在发表论文或制作PPT时能将成果展示得更加明了。 第7章介绍Simulink中所有的回调函数,包括模型仿真过程中的回调函数、模块动作(尺寸变化、复制、删除等)的回调函数、端口连接的回调函数及模块GUI上各个控件的回调函数。 第8章重点讲解MATLAB的M语言如何控制Simulink,能够解决读者朋友关于如何在仿真过程中改变参数,如何自动配置模型等问题。 第9章讲解如何使用Simulink模型实现高级编程语言中经常使用的流控制,让读者能够更好地发挥想象,更好地将既有的编程经验发挥到Simulink建模中去。 第10章是绝对的Simulink核心——S函数,此部分从S函数的功能、分类、构成要素及原理各个方面进行深刻、全面的讲解,让读者在深刻理解Simulink运行机制的基础上能够使用M语言和C语言构建自定义模块,而且更深入地教会读者掌握S函数的编写模式,通过配置S-Function Builder和Legacy Code Tool可自动生成S函数。 第11章重点教会读者封装子系统或S函数模块,包括手动封装及编程自动封装,深入讲解Simulink模块参数对话框GUI的控件构成和Simulink.Mask类的使用。 第12章介绍M语言注释的书写方式及自动生成html文件的方法,通过该章节读者能够学会开发自定义模块的Help文档的方法。 第13章介绍Simulink中自定义模块库的方法。 第14章介绍Simulink中自定义环境的方法,包括菜单栏自定义、目标硬件的自定义及Configuration Parameter控件属性的编辑方法。 第15章通过乙醇连续发酵工业流程的建模和仿真,介绍了基于发酵动力学理论微分方程组的建模及数值求解方法、Simulink与GUI结合仿真的方法,以及通过将Simulink模型编译为C代码执行,从而加速仿真的方法。 第16章带领读者进入一个全新的篇章——基于模型的设计,此章介绍了世界各地各公司或学校使用MATLAB/Simulink进行基于模型的设计的成功实例。 第17章重点教会读者关于嵌入式C代码的生成技术、基于模型设计的开发流程及模型生成代码时的配置方法与技巧。核心内容包括代码生成的流程、模型系统目标文件的工作原理、模型生成代码的结构和优化方法、自定义存储类型和数据对象的使用方法,以及实时任务调度的原理及代码实现。 第18章讲解目标语言编译器TLC语言的语法和编写方法,有了它,读者可以给自己的模块编写代码生成规则,让自定义模块也能支持代码生成功能。 第19章重点讲解目标支持包TargetSupport Package(简称TSP)的构成和功能,通过实例讲述如何在TSP的协助下快速实现应用层与驱动层的结合,并自动实现工程的生成、编译和下载,从而加速嵌入式控制应用的开发。 写书的过程艰苦而漫长,这离不开家人的支持,领导的培养,朋友们的鼓励。在漫长的9个月里,每晚能静下心来心无旁骛地准备书稿,全依靠我的家人给我创造的美好环境,他们是我一生最重要的人。 个人的成长离不开所在的环境。南京富士通南大软件技术有限公司(FNST)的同事,他们的独特视野、技术热情和丰富经验让我这个初出茅庐的人领略到了Model Based Design这个方向的深邃和博大,感谢林有华、徐波、沙骁骅、陈锦程、黄开彬、尹燕和瞿果在我困难时给予的帮助,让我在FNST这个温暖的大家庭中迅速进步,领会了团队的强大凝聚力,也让我学会了如何去担当自己的责任。我忘不了攻克难题时一直陪伴在我身边的小伙伴们,是你们的信任和支持让我拥有足够的勇气面对苦难,感谢王浩、赵利、卢宝忠、汪大伟、周冲、杜宏伟、林艺文、王庆和程莉莉,希望以后的工作和生活因你们而更精彩。 最后感谢我的导师杨小建教授和指导我的李荣雨博士,让我在学生时代能够建立良好的兴趣导向并坚持不懈地朝着自己坚信的方向努力,感谢你们的鼓励,使我在毕业以后的生活中依旧保持着进取和钻研之心。 最后感谢读者朋友们,希望这本书能够为你们在学业或工作中贡献一些力量。 目录 入门篇 第1章Simulink界面介绍 1.1Simulink是什么 1.2Simulink启动及Simulink Library Browser介绍 1.3模型的建立 1.4打开既存模型 1.5向模型中添加模块 第2章Simulink模块 2.1Simulink模块的组成要素 2.1.1模块概述 2.1.2Simulink模块的构成 2.1.3Simulink模块的朝向 2.1.4Simulink模块的属性及参数 2.1.5Simulink模块的注解 2.1.6Simulink模块的虚拟性 2.2Simulink常用模块库 2.2.1输入/输出模块 2.2.2常数模块 2.2.3波形显示模块 2.2.4四则运算模块 2.2.5延时模块 2.2.6关系操作模块 2.2.7逻辑运算模块 2.2.8Switch模块 2.2.9积分模块 2.2.10限幅模块 2.2.11接地模块 2.2.12终止模块 2.2.13信号合并与分解模块 2.2.14总线创建与总线选择模块 2.2.15向量连接模块 2.2.16数据类型转换模块 2.2.17子系统模块 2.3Commonly UsedBlocks以外的常用模块 2.3.1信号源模块 2.3.2信号接收模块 2.3.3查表模块 2.3.4其他常用模块 2.3.5用户自定义模块 第3章Simulink信号 3.1Simulink信号概述 3.2Simulink信号的操作 3.3Simulink信号的分类 3.3.1Scalar信号 3.3.2Vector信号 3.3.3Matrix信号 3.3.4Bus信号 3.3.5Functioncall信号 3.3.6尺寸可变信号 3.3.7未连接信号 3.4Simulink信号的属性 第4章Simulink子系统 4.1Simulink子系统详解 4.1.1子系统概述 4.1.2Simulink模型的运行顺序 4.1.3各种子系统的特点与功能 4.2Simulink子系统实例 4.2.1虚拟和非虚拟(原子)子系统 4.2.2触发使能子系统 4.2.3函数调用子系统(条件子系统) 4.2.4While子系统(动作子系统) 4.2.5可变子系统(选择子系统) 4.2.6可配置子系统(选择子系统) 第5章Simulink模型的仿真 5.1模型的配置仿真 5.1.1解算器 5.1.2参数的配置 5.2模型仿真数据记录 5.3仿真过程的调试 5.3.1Debugger的启动 5.3.2Debugger的单步方法 5.3.3Debugger的断点设置方法 5.4仿真的加速 第6章Simulink模型保存为图片 6.1截图保存方式 6.2拷贝视图方式 6.3使用saveas函数保存 6.4使用print函数保存 进阶篇 第7章Simulink的回调函数 7.1什么是回调函数 7.2回调跟踪 7.3模型回调函数 7.4模块回调函数 7.5端口回调函数 7.6参数回调函数的使用 7.7回调函数使用例程 7.7.1打开模型时自动加载变量 7.7.2双击模块执行MATLAB脚本 7.7.3开始仿真前执行命令 7.7.4提示模块端口的连线情况 7.7.5统计模型中所有模块信息 第8章M语言对Simulink模型的自动化操作及配置 8.1M语言控制模型的仿真 8.1.1sim控制模型仿真及参数配置 8.1.2set_param控制模型仿真过程 8.2M语言修改模块属性 8.3M语言自动建立模型 8.3.1模型的建立及打开 8.3.2模块的添加、删除及替换 8.3.3信号线的添加及删除 8.3.4M语言自动创建模型 第9章Simulink的流控制 9.1Simulink 流控制分类 9.2While 流控制 9.3For 循环控制 9.4If else控制 9.5Switch Case控制 第10章S函数 10.1S函数概述 10.2S函数的类型 10.3S函数的要素 10.4S函数的组成及执行顺序 10.5使用不同语言编写S函数 10.5.1Level 1 M S函数 10.5.2Level 2 M S函数 10.5.3C Mex S函数 第11章模块的封装 11.1Mask Editor封装模块 11.1.1封装模块构成的子系统 11.1.2封装S函数编写的模块 11.2编程自动封装模块 11.2.1模块的属性 11.2.2使用set_param和get_param封装模块 11.2.3使用Simulink.Mask类封装模块 11.3使用GUIDE封装模块 第12章Publish发布M文件 12.1M文件的注释 12.2Cell模式 12.3注释的Publish 12.3.1正文 12.3.2字体控制 12.3.3小标题 12.3.4插入超链接 12.3.5插入可执行代码 12.4注释发布功能的应用场景 第13章Simulink创建自定义库 第14章Simulink自定义环境 14.1Simulink 环境自定义功能 14.2Simulink 工具栏菜单自定义 14.3Simulink LibraryBrowser菜单栏自定义 14.4Simulink目标硬件自定义 14.5Simulink参数对话框控制 第15章Simulink在流程工业中的仿真应用 15.1工业乙醇生产与计算机仿真 15.2工业乙醇发酵流程 15.3乙醇发酵动力学方程 15.4发酵动力学方程组的MATLAB求解 15.5发酵动力学方程组的Simulink求解 15.6乙醇连续发酵流程的Simulink仿真 15.7乙醇连续发酵的仿真软件设计 15.7.1GUIDE介绍 15.7.2乙醇连续发酵程序仿真软件界面 15.7.3Simulink动态仿真控制器制作 15.7.4基于代码生成的模型仿真加速 15.8总结 高级篇 第16章Simulink基于模型设计的工业应用概述 16.1Simulink用途概述 16.2Simulink的工业应用 16.2.1Airbus使用基于模型的设计为 A380 开发出燃油管理系统 16.2.2马自达加快开发下一代应用创驰蓝天技术(SKYACTIV TECHNOLOGY)的 发动机 16.2.3特斯拉电动跑车Roadster 16.2.4罗斯胡尔曼理工学院使用Simulink和SimDriveline设计混合动力汽车动力 总成系统 16.2.5三星(英国)利用Simulink开发出4G无线系统 16.3总结 第17章Simulink代码生成技术详解 17.1基于模型的设计 17.1.1需求文档 17.1.2根据需求进行设计 17.1.3需求与设计的挂接 17.1.4模型的仿真 17.1.5模型的性能分析及修正 17.1.6模型效率分析与优化 17.1.7模型的代码生成 17.1.8模型生成代码的优化 17.1.9代码的有效性验证 17.1.10其他验证方法 17.2Simulink代码生成流程及技巧 17.2.1代码生成时的模型配置方法 17.2.2代码生成的流程 17.2.3代码生成方法与技巧 第18章TLC语言 18.1TLC的作用 18.2TLC的语法 18.2.1基本语法 18.2.2常用指令 18.2.3变量类型 18.2.4操作符和表达式 18.2.5TLC内建函数 18.2.6TLC命令行 18.2.7TLC调试方法 18.2.8TLC文件的覆盖度 18.2.9TLC Profiler 18.3为S函数编写TLC文件 18.3.1支持代码生成的S函数 18.3.2模块TLC文件的构成 18.3.3模块TLC函数实例 第19章基于TSP的直流电机控制设计 19.1TSP是什么 19.1.1PSL的构成与使用 19.1.2工具链自动化流程 19.2直流电机控制原理 19.3系统的构成 19.4模型的建立 19.4.1PWM波形的产生 19.4.2电机转速计算模块 19.4.3电机调速模块 19.5总结 参考文献

2019-02-27

Freescale飞思卡尔S32K144系列硬件寄存器宏定义

厂家提供了S32K14X系列的寄存器定义,如: #define CAN_MCR_HALT_MASK 0x10000000u #define CAN_MCR_HALT_SHIFT 28u #define CAN_MCR_HALT_WIDTH 1u #define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x))<<CAN_MCR_HALT_SHIFT))&CAN;_MCR_HALT_MASK) #define CAN_MCR_RFEN_MASK 0x20000000u #define CAN_MCR_RFEN_SHIFT 29u #define CAN_MCR_RFEN_WIDTH 1u #define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x))<<CAN_MCR_RFEN_SHIFT))&CAN;_MCR_RFEN_MASK) #define CAN_MCR_FRZ_MASK 0x40000000u #define CAN_MCR_FRZ_SHIFT 30u #define CAN_MCR_FRZ_WIDTH 1u #define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x))<<CAN_MCR_FRZ_SHIFT))&CAN;_MCR_FRZ_MASK) #define CAN_MCR_MDIS_MASK 0x80000000u #define CAN_MCR_MDIS_SHIFT 31u #define CAN_MCR_MDIS_WIDTH 1u #define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x))<<CAN_MCR_MDIS_SHIFT))&CAN;_MCR_MDIS_MASK) 使用时方便,比如: base->MCR = (base->MCR & ~CAN_MCR_HALT_MASK) | CAN_MCR_HALT(0U); base->MCR = (base->MCR & ~CAN_MCR_FRZ_MASK) | CAN_MCR_FRZ(0U); 但是,在想要获取寄存器中某些位段的值时,需要使用寄存器的掩码和移位,比如: while (((base->MCR & CAN_MCR_LPMACK_MASK) >> CAN_MCR_LPMACK_SHIFT) != 0U) {} 于是,想扩展以下格式的宏: #define CAN_MCR_LPMACK_GET(r) (((r) & CAN_MCR_LPMACK_MASK) >> CAN_MCR_LPMACK_SHIFT) 这样,使用的时候只需要写 while(CAN_MCR_LPMACK_GET(base->MCR) != 0) {} 【解决办法】 在MATLAB中写一个脚本,自动从原始头文件中提取相关的定义,并生成全部GET宏。 脚本文件为: S32K14X_CreateGetMacro.m 生成结果为: S32K144_get.h

2019-01-09

The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors(3rd Ed)

The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors (3rd Edition) (ARM Cortex-M3与Cortex-M4权威指南(第3版),英文原版) 英文版,非扫描,可搜索文本,包含完善书签。

2018-11-06

编译原理-山寨版-简化C语言编译器-简单易学

说是山寨,其实全是大白话。由国内某著名IT公司的技术男编写的编译原理入门教程,没有高深的概念,没有复杂的公式,简单易学,照着样子就能写一个编译器出来。附件里面包含有源代码。

2018-08-30

CPU电路图(TTL门电路做的CPU)Magic1 Homebrew CPU

参考文档: www.homebrewcpu.com/Magic1.pdf https://www.pcworld.com/article/189854/homebrew_cpu.html 中文介绍: http://cpu.zol.com.cn/69/693912.html 难道这真的是一个CPU?请赶快闭好你张大了的嘴,我来告诉你答案:的确是!这是一个名字叫Bill Buzbee的朋友用200多块74系列的TTL集成电路通过纯手工制造的CPU。 这款“家酿”CPU可以支持完整的硬件地址转换、内存映射IO和DMA,并且支持多进程,主频“高达”3MHz;该CPU采用8位地址总线,每个进程拥有128K地址空间,其中包括32个2K的数据页和32个2K的代码页,这些地址影射到22位的物理地址空间中,如果算上外部设备的地址空间就是23位物理地址空间。 怎么样?够强的吧?这还不算什么,这个Buzbee还用这个CPU组装了一台微型计算机,名字就叫Magic-1,这台计算机包括两个串口和一块20M的1.3吋硬盘和另一块30M硬盘。最让人“乍舌”的事,这位朋友还将这台计算机做为一个Web服务器,同时支持Telnet会话(虽然只支持一个会话)。哦,还有,为了让这个系统能够跑起来,Buzbee还为它准备了一个C编译器! 这一款CPU还支持中断哦。

2018-08-29

Segger公司出品的基于JLink-RTT的嵌入式软件调试神器SystemView V2.52a

SEGGER SystemView是一款用于多种CPU运行时进行实时性记录和分析的软件,它以最小的代码花销和最简单的硬件支持即可分析CPU上的代码运行情况,并且以图表形式展现给用户,用户可以很直观的看到了自己写的某个线程或者某个中断运行情况,以及前后台切换以及线程切换的时间点。相信该款软件将是喜欢单片机编程的你的开发测试神器。 特点 可支持任何CPU; 硬件支持简单,只需要用J-Link即可分析; 支持持续性的实时记录以及在线分析,最大可支持到1000000个事件; 支持多种实时操作系统,例如UCOS, FreeRTOS,也可支持裸机程序; 该软件为免费软件,不需要有任何花费;

2018-05-20

OllyDbg(OD)新手入门教程(出自看雪学院)

看雪学院新手入门文章 新手OllyDbg入门文章 基础知识 · OllyDBG 入门系列(一)-认识OllyDBG · OllyDBG 入门系列(二)-字串参考 · OllyDBG 入门系列(三)-函数参考 · OllyDBG 入门系列(四)-内存断点 · OllyDBG 入门系列(五)-消息断点及 RUN 跟踪 · · OllyDBG 入门系列(七)-汇编功能 ========================= · 笑解 API 函数 -- API 绝密档案系列之一 · 乱解 API 函数 -- API 绝密档案系列之二 · 笑解 API 函数 -- API 绝密档案系列之三 · 打造 API 函数 -- API 绝密档案系列之四 · 实战 API 函数 -- API 绝密档案系列之五 · 通往WinDbg的捷径(一) · 通往WinDbg的捷径(二)

2018-05-16

Code_ the hidden language of computer hardware and software 英文原版

Code_ the hidden language of computer hardware and software 英文原版,高清文字,图片清晰,书签完整。

2017-08-23

Stateflow逻辑系统建模.pdf (MATLAB,SIMULINK)

STATEFLOW逻辑系统建模 作 者 张威 出版社 西安电子科技大学出版社 图书目录编辑 第1章 概述 1.1 MATLAB产品简介 1.2 基于模型的设计思想 1.2.1 系统设计的基本过程 1.2.2 传统设计手段的缺陷 1.2.3 基于模型的设计优势 1.3 Simulink回顾 1.3.1 创建Simulink模型 1.3.2 参数设置与Model Explorer 1.3.3 创建子系统 1.4 Stateflow概述 1.5 安装配置Stateflow 1.6 本章小结 第2章 创建状态图 2.1 Stateflow编辑器 2.1.1 创建Simulink模型 2.1.2 Stateflow编辑器概览 2.2 创建和编辑状态图 2.2.1 插入图形对象 2.2.2 编辑图形对象外观 2.3 本章小结 第3章 状态图的仿真 3.1 状态图的基本概念 3.2 事件 3.2.1 添加事件 3.2.2 使用多个输入事件 3.2.3 默认转移的注意事项 3.3 数据对象 3.3.1 添加数据对象 3.3.2 数据对象的属性 3.3.3 使用非标量的数据对象 3.3.4 设置数据对象的数据类型 3.4 状态图的更新模式 3.5 Stateflow模型查看器 3.5.1 启动Stateflow模型查看器 3.5.2 查看并修改对象属性 3.5.3 增加新的非图形对象 3.6 本章小结 第4章 流程图 4.1 转移冲突 4.1.1 转移冲突的产生与默认处理 4.1.2 用户自定义检测次序 4.2 流程图的创建 4.2.1 常用逻辑结构模型 4.2.2 流程图的回溯现象 4.2.3 流程图应用实例 4.3 图形函数 4.3.1 状态中的流程图 4.3.2 创建图形函数 4.3.3 应用实例 4.4 Stateflow调试器 4.4.1 启动调试器 4.4.2 设置断点 4.4.3 调试过程 4.5 本章小结 第5章 有限状态系统——层次化建模 5.1 状态图回顾 5.2 状态动作深入 5.2.1 状态动作的分类 5.2.2 动作的执行次序 5.2.3 在动作中使用事件 5.3 层次化建模 5.3.1 层次化模型的构成 5.3.2 层次化状态图的转移 5.3.3 历史节点 5.3.4 内部转移 5.3.5 层次化模型的转移检测优先权 5.3.6 本地数据对象 5.4 子状态图 5.4.1 使用组合的状态 5.4.2 创建子状态图 5.4.3 子状态图的超转移 5.5 Stateflow查询工具 5.6 本章小结 第6章 有限状态系统——并行机制 第7章 Stateflow Coder目标编译 第8章 可复用图形结构 第9章 Stateflow API 附录A MATLAB可用的LaTex字符集 附录B Stateflow对象层次 附录C Stateflow语法小结 附录D Stateflow动作语言 附录E Embedded MATLAB语言 附录F SimEvents简介 参考文献

2015-08-29

基于模型的设计_MCU篇.pdf(MATLAB,SIMULINK,单片机)

基于模型的设计:MCU篇 《基于模型的设计:MCU篇》一书采用了先进的产品开发思想一一基于模型设计的方法,并以MATLAB R2010b为软件平台。让工程师在可视化的MATLAB统一开发环境中,一边进行需求分析、算法研究、模型与需求分析的双向跟踪、模型验证与优化;另一边进行自动生成C代码的软件在环测试、处理器在环测试、代码的有效性分析、代码与模型的双向跟踪、代码优化、硬件测试等,让算法到嵌入式实时C代码的生成一步到位、一次成功,避免传统开发MCU器件,前期投入大、开发周期长、一般需要重复多次才能成功的弊端。 图书信息折叠编辑本段 出版社: 北京航空航天大学出版社; 第1版 (2011年1月1日) 平装: 502页 正文语种: 简体中文 开本: 16 ISBN: 7512403151, 9787512403154 =============== 目录折叠编辑本段 第1章 MATLAB编程基础 1.1 MATLAB R2010a与2010b的若干更新 1.1.1 压缩文件 1.1.2 目录浏览器 1.1.3 文件夹及文件比较 1.1.4 登录MATLAB文件交换服务器 1.2 M文件的编写 1.2.1 M文件结构 1.2.2 M脚本文件 1.2.3 快捷方式 1.2.4 M函数 1.2.5 匿名函数 1.2.6 函数提示 1.3 M文件的调试 1.3.1 M-Lint 1.3.2 使用cells加快调试 1.4 M文件的发布 1.5 Embedded MATLAB 1.5.1 Embedded MATLAB的主要功能特点 1.5.2 Embedded MATLAB的编程规范 1.5.3 C编译器的设置 1.5.4 Embedded MATLAB编程实例 第2章 Simulink建模与调试 2.1 Simulink基本操作 2.1.1 模块库和编辑窗口 2.1.2 Simulink模块库 2.1.3 模块的基本操作 2.2 搭建直流电动机模型 2.2.1 数学模型分析 2.2.2 模型搭建与参数设置 2.2.3 子系统与库 2.2.4 添加模块到库浏览器及知识产权保护 2.2.5 数据格式与输入/输出 2.2.6 PID控制 2.3 Simulink模型调试 2.3.1 图形界面调试 2.3.2 命令行调试 2.3.3 运行调试器 2.3.4 断点设置 2.3.5 显示模型和仿真信息 第3章 Stateflow建模与应用 3.1 Stateflow基本概念 3.1.1 状态图编辑器 3.1.2 状态 3.1.3 迁移 3.1.4 数据与事件 3.1.5 对象的命名规则 3.2 Stateflow状态图 3.2.1 状态 3.2.2 迁移 3.2.3 计时器状态图 3.2.4 数据与事件 3.2.5 动作 3.2.6 自动创建对象 3.3 Stateflow流程图 3.3.1 流程图与节点 3.3.2 建立流程图 3.4 层次结构 3.4.1 层次的概念 3.4.2 迁移的层次 3.4.3 历史节点 3.4.4 子状态图 3.4.5 层次状态图中的流程图 3.5 并行机制 3.5.1 设置状态关系 3.5.2 并行状态活动顺序配置 3.5.3 本地事件广播 3.5.4 直接事件广播 3.5.5 隐含事件和条件 3.6 stateflow其他对象 3.6.1 真值表(Truth table) 3.6.2 图形函数(Graphical function) 3.6.3 Embedded MATLAB 3.6.4 图形盒(Box) 3.6.5 Simulink函数调用 3.6.6 目标 3.7 综合应用 3.7.1 计时器 3.7.2 交通灯 第4章 设备驱动模块的编写 4.1 创建S函数模块的示例 4.1 I1手工编写Wrapper S函数 4.1.2 代码继承工具(Legacy Code T001) 4.1.3 S-Function Builder 4.1.4 三种方法的比较 4.2 S函数 4.2.1 S函数工作机制 4.2.2 C MEX S函数模板 4.2.3 其他回调方法 4.2.4 宏函数 4.2.5 数据访问 4.2.6 目标语言编译器 4.3 S-Function Builder 4.3.1 S-Function Builder简介 4.3.2 初始化界面(initialization) 4.3.4 数据属性界面(Data Properties) 4.3.5 库文件界面(Libraries) 4.3.6 输出界面(Outputs) 4.3.7 连续状态求导(Continuous Derivatives) 4.3.8 离散状态更新(Discrete Update) 4.3.9 编译信息(Build Info) 4.4 创建设备驱动实例 4.4.1 HCl2模数转换模块 4.4.2 DASl600数据输入模块 4.4.3 S-Function Builder 第5章 8051单片机代码的快速生成 5.1 仿真软件Proteus快速人门 5.1.1 Proteus简介 5.1.2 快速绘制原理图 5.1.3 PCB制板 5.2 KeilC51集成开发环境(IDE) 5.2.1 预备知识 5.2.2 RTW-EC快速代码生成 5.2.3 脉宽调制 5.2.4 流水灯 5.3 TASKING嵌入式开发环境(EDE) 5.3.1 预备知识 5.3.2 直流电机控制 5.3.3 算术乘法 5.3.4 流水灯 第6章 C166代码的快速生成 6.1 英飞凌C166模块库简介 6.2 TASKING EDE for C166 6.2.1 电动机控制模型 6.2.2 设置IDE与模型参数 6.2.3 处理器在环测试(PIL) 6.2.4 代码的自动生成 第7章 基于Simulink模块的dsPIC单片机开发 7.1 MPLAB嵌入式开发环境及工具 7.1.1 软件的下载和安装 7.1.2 利用MPLAB IDE及Proteus VSM进行虚拟硬件调试 7.1.3 dsPIC外围驱动模块简介 7.2 dsPIC外围驱动模块应用 7.2.1 数模转换实验 7.2.2 闪烁灯 7.2.3 调用现有C函数 7.3 无对应模块时的应用 7.3.1 创建功能验证模型 7.3.2 自动代码生成 7.3.3 虚拟硬件测试 第8章 ARM代码的快速生成 8.1 ARM简介 8.2 蜂鸣器 8.2.1 蜂鸣器发声模型 8.2.2 蜂鸣器功能验证模型 8.2.3 软件在环测试 8.2.4 自动代码生成 8.2.5 虚拟硬件测试 8.3 交通灯控制 8.3.1 软件在环测试 8.3.2 自动代码生成及编译 8.3.3 虚拟硬件测试 8.4 步进电动机控制 8.4.1 步进电动机原理简介 8.4.2 步进电动机控制模型 8.4.3 步进电动机的功能验证模型 8.4.4 软件在环测试 8.4.5 自动代码生成 8.4.6 虚拟硬件测试 8.5 无刷电动机的控制 8.5.1 无刷电动机原理简介 8.5.2 TASKING IDE FOR ARM 8.5.3 无刷电动机控制模型 8.5.4 无刷电动机功能验证模型 8.5.5 软件在环测试 8.5.6 编写驱动代码 8.5.7 自动代码生成 8.5.8 代码效率比较 8.5.9 虚拟硬件测试 第9章 基于模型的设计 9.1 传统设计的弊端 9.2 基于模型设计的优势 9.3 基于模型设计的流程 9.3.1 建立需求文档 9.3.2 建立可执行的技术规范 9.3.3 浮点模型 9.3.4 需求与模型间的双向跟踪 9.3.5 Model Advisor检查 9.3.6 模型验证 9.3.7 定点模型 9.3.8 软件在环测试(SIL) 9.3.9 处理器在环测试(PIL) 9.3.10 代码与模型间的双向跟踪 9.3.11 代码优化 9.3.12 生成产品级代码 9.4 需求分析及跟踪 9.4.1 系统模型 9.4.2 需求关联 9.4.3 一致性检查 9.5 模型检查及验证 9.5.1 System Test 9.5.2 Design Verifier 9.5.3 Model Advisor检查 9.6 定点模型 9.6.1 Fixed Point Advisoi 9.6.2 Fixed Point Tools 9.7 软件在环测试 9.8 代码跟踪 9.9 代码优化及代码生成 9.9.1 子系统原子化 9.9.2 确定芯片类型 9.9.3 代码检查 9.9.4 代码生成 9.10 虚拟硬件测试 附录Embedded MATLAB支持的各函数 参考文献

2015-08-29

BCGControlBar Pro for MFC(VC扩展界面库)V22.1

BCGControlBar(Business Components Gallery ControlBar)专业版是MFC的一个扩展库,您可以用来构建类似于Microsoft Office 2000/XP/2003/2007/2010/2013 和 Microsoft Visual Studio-like(打印、用户定制工具栏、菜单等)以及其他一些知名产品的高级用户界面,例如:日历、网格、编辑和甘特图等。BCGControlBar的这个扩展库包含了300多个经过精心设计,测试和具有完备文档的MFC扩展类。BCGControlBar控件能轻松的融入应用程序中,节约大量的的开发和调试时间。 注意:该控件目前的正式名称是"BCGControlBar Professional for MFC",但原名称"BCGControlBar Library Professional Edition (MFC)"仍然可用。 适用范围:MFC应用程序开发。 BCGControlBar是MFC的一个扩展库其英文全称是"Business Components Gallery ControlBar",它允许你去创建像完全自定义的像Microsoft Office 2000/XP/2003/2007/2010/2013 and Visual Studio的界面并且它具有一套丰富专业的GUI控件。比如:图表,历日,表格,编辑器,甘特图等。 参考网站: http://www.bcgsoft.com/bcgcontrolbarpro.htm http://www.evget.com/product/88

2015-05-13

MISRA-C-:2004 Guidelines for the use of the C language in critical systems 中文版

MISRA-C-:2004 Guidelines for the use of the C language in critical systems 中文版

2015-01-09

MISRA-C-:2004 Guideline for the use of the C language in critical systems

MISRA-C-:2004 Guideline for the use of the C language in critical systems

2015-01-09

深入浅出Cortex M3之LPC178x 177x 下册

深入浅出Cortex M3之LPC178x 177x 下册 ZLG出品

2014-12-22

深入浅出Cortex M3之LPC178x 177x 上册

深入浅出Cortex M3之LPC178x 177x 上册 ZLG出品

2014-12-22

【官方中文手册】LPC177x_178x_User Manual(含书签)

在官方技术手册的基础上增加书签。 UM10470 LPC178x/7x 用户手册 修订版 1.5 — 2011 年 7 月 6 日

2014-12-16

LPC177x_8x(LPC17xx) cmsis driver library

LPC177x_8x CMSIS - Compliant Standard Peripheral Firmware Driver Library Rev 1.17 - 12 June 2012 This is the list of examples that supported in LPC177x_8xCMSIS package Peripheral Example Description ADC Adc_Burst Shows how to use ADC conversion in burst mode with single or multiple input Adc_Dma Shows how to use ADC conversion and transfer converted data by using DMA Adc_Interrupt Shows how to use ADC conversion in interrupt mode. Adc_Polling Shows how to use ADC conversion in polling mode. BOD BOD_Demo Shows how to use BOD. CAN Can_Aflut Shows how to use CAN driver functions for setup and change AFLUT table dynamically Can_Bypass Shows how to test CAN operation by using bypass mode Can_Selftest Shows how to test CAN self-test mode Cortex-M3 Bit_Banding Shows how to use Bit-banding feature of Cortex-M3 processor. MPU Shows how to use MPU to protect memory region. Privilege_Mode Shows how to change privilege to unprivileged mode and vice versa. CRC Crc_Demo Shows how to use CRC engine on LPC177x_8x. The results are calculated by some different polynomials Crc_Dma Shows how to use CRC engine with DMA support DAC Dac_Dma Shows how to use DMA to transfer data to DAC peripheral Dma_SineWave Shows how to use DAC to generate a sinewave signal or positive-half sinewave signal DMA Dma_Flash2Ram Show how to transfer data from Flash to Ram memory by using DMA engine EEPROM Eeprom_Demo how to work with EEPROM memory on LPC177x_8x EMAC Emac_EasyWeb Shows how to implement an simple web application Emac_Raw Shows how to test EMAC driver with raw packet frame format that is not related with any upper-layer (i.e. TCP/IP...). Emac_uIP Shows how to handle a single network interface and contains the IP, ICMP, UDP and TCP protocols. EMC Emc_NandFlashDemo Shows how to work with NandFlash (if available) by using EMC component of LPC177x_8x Emc_NorFlashDemo Shows how to work with NorFlash (if available) by using EMC component of LPC177x_8x Emc_SdramDemo Shows how to work with SDRAM (if available) by using EMC component of LPC177x_8x GPIO Gpio_Interrupt Shows how to use interrupt function of GPIO pins. Gpio_LedBlinky Set ON/OFF for the GPIO pins to drive LEDs IAP IAP_Demo Shows how to access/update on-chip flash memory from application code I2C I2c_Pca9532Drv Shows how to use I2C to drive with PCA9532 and indicate via LEDs that connected to PCA chip I2C_Master Shows how to use I2C block as a master to send/receive data to/from a slave. I2C_Slave Shows how to use I2C block as a slave to send/receive data to/from a master. I2C_EEPROM Shows how to drive EEPROM through I2C. I2S I2s_4Wire Shows how to configure I2S peripheral to run in 4 wire mode I2s_Audio Shows how to use I2S to transfer audio data through I2S pins to play a short music sound and output to head phone line. I2s_Dma Shows how to use I2S with DMA engine I2s_Interrupt Shows how to use I2S to transfer data in interrupt mode I2s_Mclk Shows how to use I2S master clock as I2S clock source LCD Lcd_Demo Shows how to interact with GFT035A320240Y LCD and QVGA TFT LCD(if it’s available) MCI Mci_CidCard Shows how to use Multimedia Card Interface (MCI) on LPC177x_8x IC. Basically it’s to read CID of the card that input to the card slot. MCI_ReadWrite Shows how to use MCI on LPC177x_8x to read/write data on a SD/MMC card. MCI_FS Shows how to integrate FatFS and EFSL open source to use FAT FileSystem on LPC177x_8x. MCPWM MCPWMSimple Shows how to test Motor Control PWM module in LPC17xx NVIC Nvic_Priorities Shows how to configure NVIC priority grouping for testing the interrupts in tail-chaining and Late-arriving mode Nvic_VectorTableRelocation Shows how to relocation vector table in another site in RAM PWM Pwm_DualEdge Shows how to generate PWM signal on 3 Channels in both edge mode and single mode. Pwm_MatchInterrupt Shows how to use PWM Match function in interrupt mode Pwm_SingleEdge Shows how to use PWM signal on 6 Channels in single edge mode PWR Pwr_DeepPowerDown Shows how to enter system in Deep PowerDown mode and wake-up by using RTC (Real-time clock) interrupt Pwr_DeepSleep Shows how to enter system in DeepSleep mode and wake up it by using WDT Interrupt Pwr_PowerDown Shows how to enter system in PowerDown mode and wake-up it by using NMI (Non-Maskable Interrupt) Pwr_Sleep Shows how to enter system in sleep mode and wake-up by using external interrupt QEI Qei_Velo Shows how to use Quadrature Encoder Interface module to calculate velocity and detect direction changing RTC Rtc_Alarm Shows the configurations to generate interrupt in Second Counter Increment Interrupt (1s) and generate Alarm interrupt at 10s Rtc_Calibration Shows how to do real-time clock calibration. Rtc_Ev Shows how to do event monitor/recorder. SSP Ssp_Dma Shows how to configure SSP peripheral with DMA support. SSP_Master Shows how to use SSP block as a master to send/receive data to/from a slave. SSP_Slave Shows how to use SSP block as a slave to send/receive data to/from a master. SSP_Microwire Shows how to use SSP peripheral with MicroWire frame format. SSP_TI Shows how to use SSP peripheral with TI frame format. SYSTICK Systick_10msBase Shows how to configure System Tick timer to generate interrupt each 10ms Systck_Stclk Shows how to configure System Tick timer use external clock source STCLK TIMER Timer_Capture Shows how to use Capture Timer function. Timer_FreqMeasure Shows how to use Timer to measure the frequency of the signal input Timer_MatchInterrupt Shows how to configure the Timer to generate Match interrupt. UART Uart_Autobaud This is a simple UART example using auto baudrate mode Uart_Dma Shows how to use UART in DMA mode Uart_FullModem This is a simple UART example using UART1 will Full modem mode Uart_HWFlowControl Shows how to use UART in hardware flow control mode. Uart_Interrupt Shows how to use UART in interrupt mode Uart_IrDAReceive Shows how to configure UART for receiving data via IrDA protocol Uart_IrDATransmit Shows how to configure UART for transmitting data via IrDA protocol Uart_Polling Shows how to use UART in polling mode Uart_Rs485Master Shows how to configure UART for RS485 functionality in Master mode. Uart_Rs485Slave Shows how to configure UART for RS485 functionality in Slave mode. USBDEV USBMassStorage Shows how to implement a simple USB Mass Storage application on LPC177x_8x. USB_Audio Shows how to implement USB speaker on LPCD177x_8x. USB_HID Shows how to implement HID device on LPCD177x_8x. Usb_VirtualCom Shows how to configure USB Device of as a virtual COM port. USBHostLite UsbHost_MassStorage Shows how to configure USB Host Controller on LPC177x_8x. WDT Wdt_Interrupt Shows how to use WDT to generate interrupt after a specific time. Wdt_Reset Shows how to use WDT to generate chip reset after a specific time. Wdt_WindowMode Test the operation of Window Mode of Window Watchdog Timer on LPC177x_8x

2014-12-10

MC9S08DZ60评估板例程_程序_开发板手册

包括MC9S08DZ60开发板说明书,以及详细的例程: 2013-01-11 上午 11:20 <DIR> ACMP 2013-01-11 上午 11:20 <DIR> ADC 2013-01-11 上午 11:20 <DIR> Buzzer 2013-01-11 上午 11:20 <DIR> CAN 2013-01-11 上午 11:20 <DIR> can总线 流程图 2013-01-14 下午 01:34 <DIR> eeprom 2013-01-11 上午 11:20 <DIR> Flash 2013-01-11 上午 11:20 <DIR> IIC_24C02 2013-01-11 上午 11:20 <DIR> IIC_8563 2013-01-11 上午 11:20 <DIR> Irq 2013-01-11 上午 11:20 <DIR> KBI 2013-01-12 上午 09:03 <DIR> Key 2013-01-11 上午 11:20 <DIR> Key_LED 2013-01-11 上午 11:20 <DIR> LCD12232 2013-01-11 上午 11:20 <DIR> LCD1602 2013-01-11 上午 11:20 <DIR> LED 2013-01-11 上午 11:20 <DIR> LVD 2013-01-11 上午 11:20 <DIR> MCG_PLL 2013-01-11 上午 11:20 <DIR> NRF24L01_IO 2013-01-11 上午 11:20 <DIR> NRF24L01_SPI 2013-01-11 上午 11:20 <DIR> rst 2013-01-12 下午 05:14 <DIR> rtc 2013-01-12 下午 05:04 <DIR> SCI 2013-01-11 上午 11:20 <DIR> SPI 2013-01-11 上午 11:20 <DIR> stop2 2013-01-11 上午 11:20 <DIR> stop3 2013-01-11 上午 11:20 <DIR> tpmpwm边沿输出 2013-01-11 上午 11:20 <DIR> tpm自由溢出 2013-01-11 上午 11:21 <DIR> wait

2014-06-06

NXP LPC17xx例程 code.bundle.lpc17xx.keil

NXP LPC17xx例程 code.bundle.lpc17xx.keil 包含所有外设。 包括USB Host Lite、USB device

2014-05-27

基于AT91RM9200 OHCI的USB主机

基于AT91RM9200 OHCI 的USB 主机 原创:rainman 来自 http://lancelot.blog.51cto.com 参考:http://lancelot.blog.51cto.com/393579/328233 这个PDF文件是把网站上的内容整理出来,便于阅读。

2014-05-21

USB基础知识概论(usb_basic)USB入门

本文主要介绍了USB协议的基础知识,包括USB协议的来龙去脉,OHCI/UHCI/EHCI/xHCI之间的区别和联 系,USB的firmware,以及USB 2.0协议的概览,USB的枚举的详细过程,OHCI的一些特点。

2014-05-12

MingQQ v1.0高仿版_源代码

MingQQ v1.0高仿版_源代码,一个使用WebQQ协议使用的模仿QQ界面的QQ客户端... 版权属于原作者,我只是帮助扩散 MingQQ项目地址: https://code.google.com/p/mingqq/ 作者Blog: http://zym.cnblogs.com/ http://blog.csdn.net/zym_123456

2013-07-16

NXP_LPC1700(LPC17xx)系列MCU用户手册及各模块PPT讲解

个人收藏的LPC17xx资料,从中受益匪浅。 包含以下内容: _lpc17xx.user.manual.pdf-------Rev00.07, 31 July 2009 _zlg翻译的LPC1700用户手册.pdf LPC1700_ppt_all_中文.rar------NXP LPC1700系列PPT 制作得非常专业,尤其是动画,不需要老师讲解,完成适合自学,是我到目前为止见过的最清晰明了最通俗易懂的讲解MCU的PPT!感谢ZLG!! 【ADC】LPC1700系列Cortex-M3_ZLG.ppt 【CAN】LPC1700系列Cortex-M3_ZLG.ppt 【DAC】LPC1700系列Cortex-M3_ZLG.ppt 【ETHERNET】LPC1700系列Cortex-M3_ZLG.ppt 【GPIO】LPC1700系列Cortex-M3_ZLG.ppt 【I2C】LPC1700系列Cortex-M3_ZLG.ppt 【I2S】LPC1700系列Cortex-M3_ZLG.ppt 【MCPWM】LPC1700系列Cortex-M3_ZLG.ppt 【PWM】LPC1700系列Cortex-M3_ZLG.ppt 【QEI】LPC1700系列Cortex-M3_ZLG.ppt 【RIT】LPC1700系列Cortex-M3_ZLG.ppt 【RTC】LPC1700系列Cortex-M3_ZLG.ppt 【SPI】LPC1700系列Cortex-M3_ZLG.ppt 【Timer】LPC1700系列Cortex-M3_ZLG.ppt 【UART】LPC1700系列Cortex-M3_ZLG.ppt 【USB】LPC1700系列Cortex-M3_ZLG.ppt 【WDT】LPC1700系列Cortex-M3_ZLG.ppt

2013-07-16

TCP/IP详解_包含书签和目录_3卷全_卷1协议_卷2实现_卷3TCP事务协议等

TCP/IP详解,3卷全,含书签。 china-pub高清版。 ==================================================== 内容简介 大家知道,TCP/IP已成为计算机网络的事实上的标准。在关于TCP/IP的论著中,最有影响的就是两部著作。一部是Douglas E. Comer的《用TCP/IP进行网际互连》,而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。无论是从事计算机网络的教师还是进行科研的技术人员,这两套书都应当是必读的。 《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 《TCP/IP详解 卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 《TCP-IP详解卷三TCP事务协议,HTTP,NNTP和UNIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。

2013-07-10

VC6模拟LCD滚屏效果源码

一老外写的,模拟液晶显示屏(LCD),可实现滚屏效果。 含源码和demo。 ====================================================== Class Members for MatrixStatic digital display. By Nic Wilson (C) 2002 [email protected]

2013-07-10

MSP430F2XX中文手册(加了标签)1~17.pdf

在百度文库里一个一个下下来的,打个包放在这里,方便大家下载。 ============================================== 目录 1.MSP430体系结构.pdf 2.系统复位_中断_工作模式.pdf 3.CPU.pdf 4.基础时钟模块+.pdf 5.Flash块控制器.pdf 6.MSP430+IO.pdf 7.看门狗定时器+.pdf 8.定时器_A.pdf 9._定时器_B.pdf 10.通用串口.pdf 11.通用串行通信接口UART模块.pdf 12.SPI_串行同步通讯模式.pdf 13.IIC.pdf 14.运算放大器.pdf 15.比较器_A+.pdf 16.ADC10.pdf 17.16_位Σ-Δ模数转换器.pdf

2013-04-28

tftp32(tftpd32)及其源代码_V325_V400

说明: 这里收录了tftp32的两个版本及其原代码。 tftp32_V325: (15 May 2008) V3的经典版本 支持tftp server, tftp client, dhcp server, syslog server, log viewer等功能 源代码可以在Visual C++ V9(VS2008)下编译 tftp32_V400: (7 March 2011) 最新版

2013-04-08

VC助手 Visual Assist (VAX10.5.1738经典版本)含破解补丁

VC助手 Visual Assist (VAX10.5.1738经典版本)含破解补丁

2013-03-27

C标准库源码解剖.pdf

C标准库源码解剖,想了解C库的可以看一下。

2013-02-22

大话处理器:处理器基础知识读本 清晰完全版电子书pdf

包含以下几个文件: 大话处理器(试读版).pdf 高清文字版 大话处理器:处理器基础知识读本.pdf 清楚扫描完全版 大话处理器v2.0.ppt ------------------------------------ 书名: 大话处理器 作者: 万木杨 ISBN: 9787302263159 出版社: 清华大学出版社 出版时间: 2011年10月29日 开本: 平装 语种: 简体中文 版次: 1 =================================================== 内容简介 处理器是IT、通信、电子产业的基石,没有处理器,信息产业大厦就如同建立在沙滩之上。 《大话处理器:处理器基础知识读本》是一本图文并茂、生动幽默的处理器科普读本,全书行文风趣幽默,用类比来解释晦涩的技术,用图画来代替枯燥的文字。本着科技以人为本的理念,《大话处理器:处理器基础知识读本》除了技术外,还介绍了大量人物和公司的故事,供大家闲读。 《大话处理器:处理器基础知识读本》的主要读者是IT、通信、电子、半导体行业的从业人员以及学生。喜欢技术的看技术,不喜欢技术的看故事。 =================================================== 目录 第1章 漫游计算机世界 1 1.1 计算机的前世、今生、来世 3 1.1.1 计算机的诞生 3 1.1.2 从军用到民用——飞入寻常百姓家 12 1.1.3 个人计算机时代——英雄辈出的时代 15 1.1.4 手机——装在口袋的计算机 25 1.1.5 无处不在的计算机 31 1.1.6 计算机的来世 31 1.2 计算机分门别类 33 1.3 PC机结构探秘 34 1.3.1 处理器——一颗奔腾的心 34 1.3.2 存储器——大肚能容,容天下难容之事 36 1.3.3 主板与芯片组——架起沟通的桥梁 38 1.3.4 输入设备——五觉 39 1.3.5 显示设备——脸面 42 1.3.6 显卡——我贵,因为我专业 47 1.3.7 通信接口——关节 47 1.3.8 软件——计算机的灵魂 49 1.3.9 计算机产业发展态势 50 第2章 初识处理器——掀起你的盖头来 53 2.1 处理器是怎样工作的——处理器的硬件模型 55 2.1.1 硬连线电路——一定终身 55 2.1.2 通用计算机模型——硬件搭台,软件唱戏 56 2.2 怎样来使用处理器——处理器的编程模型 57 2.2.1 软硬不分 57 2.2.2 ISA横插一刀 57 2.3 处理器的分层模型 58 2.4 选什么样的处理器——适合的才是最好的 59 2.4.1 硬件指标——硬实力的竞争 59 2.4.2 软件指标——软实力的竞争 62 2.4.3 商业指标——在商言商 63 第3章 指令集体系结构——处理器的外表 65 3.1 指令集是什么 67 3.1.1 从处理器编程模型谈起——一切从模型开始 67 3.1.2 计算机语言——人与计算机沟通的桥梁 68 3.2 指令集发展的来龙去脉 69 3.2.1 CISC时代——粗放式扩张 69 3.2.2 RISC时代——优化配置资源,合理提升效率 70 3.2.3 后RISC时代——不管黑猫白猫,抓到老鼠就是好猫 71 3.3 指令集的五朵金花 73 3.3.1 x86——硕大的大象 73 3.3.2 ARM——稳扎稳打的蚁群 74 3.3.3 MIPS——优雅的孔雀 75 3.3.4 Power——昔日的贵族 76 3.3.5 C6000——偏安一隅的独立王国 77 3.3.6 至今仍在服役的元老们 78 3.4 地盘之争 78 3.4.1 地盘划分 79 3.4.2 x86、ARM之战 80 3.4.3 ARM、MIPS之战 80 3.5 汇编语言格式——没有规矩不成方圆 81 3.5.1 机器字长 81 3.5.2 操作数个数 82 3.5.3 操作数顺序 83 3.5.4 大小端——小问题,大折腾 83 3.5.5 指令类型——我们需要哪些指令 83 3.5.6 寻址方式——千万里,我追寻着你 84 3.5.7 总结 85 第4章 微架构——处理器的内心世界 87 4.1 跟着顺溜学流水线 89 4.1.1 顺溜的2级流水线 89 4.1.2 顺溜流水线的深入分析 90 4.2 从子弹射击到指令执行 93 4.2.1 最简单的3级流水线 93 4.2.2 史上最经典的5级流水线 95 4.2.3 DSP更深的流水线 97 4.2.4 流水线上的冒险——免不了磕磕绊绊 98 4.2.5 分支预测——以古为镜,可以知兴替 103 4.3 从顺序执行到乱序执行——因时制宜 107 4.3.1 乱序的概念 107 4.3.2 指令的相关 108 4.3.3 去除指令的相关性 110 4.3.4 处理器的乱序执行 113 4.4 处理器并行设计——并行,提高性能的不二法门 117 4.5 指令并行(Instruction Level Parallelism) 118 4.5.1 指令并行的“绿营”和“蓝营” 118 4.5.2 Superscalar处理器实例——Intel P4 CPU 119 4.5.3 VLIW处理器实例——TI C6000 DSP 125 4.5.4 Superscalar和VLIW总结 130 4.6 数据并行(Data Level Parallelism) 130 4.6.1 何为SIMD、MMX、SSE 130 4.6.2 几种不同形式的SSE指令 132 4.7 线程并行(Thread Level Parallelism) 133 4.7.1 多线程——时分复用 133 4.7.2 硬件多线程——让我来帮你一把 135 4.7.3 多核——从“芯”到“蕊”的跳变 136 4.7.4 各种硬件多线程对比 138 4.8 并行总结 139 4.9 微架构总结 142 4.9.1 处理器性能公式 142 4.9.2 通过微架构的改进提高程序执行效率 142 4.9.3 商用处理器微架构的选择 143 第5章 Cache——处理器的“肚量” 145 5.1 什么是Cache——探索既熟悉又陌生的领域 147 5.1.1 随处可见的Cache——技术来源于生活 147 5.12 处理器的Cache——一切都是收益和成本的权衡 147 5.2 处理器的Cache结构——探索那些鲜为人知的秘密 150 5.2.1 Cache的层次——层次化管理 150 5.2.2 Cache的工作方式——丘比特之剑,命中与未命中 151 5.2.3 Cache的映射方式——多对一的策略 152 5.2.4 Cache的写方式——你不需要知道真相 156 5.3 Cache一致性 158 5.3.1 一致性问题的产生——信息不对称导致的问题 158 5.3.2 Cache一致性的底层操作 159 5.3.3 Cache一致性协议 160 5.4 片内可寻址存储器——软件管理的Cache 163 第6章 编写高效代码——时间就是生命 167 6.1 软件效率——21世纪什么最重要?效率! 169 6.1.1 高效代码的意义——时间就是生命,时间就是金钱 169 6.1.2 代码剖析——没有调查,就没有发言权 169 6.2 减少指令数——勤俭持家 171 6.2.1 使用更快的算法——算法,程序设计的灵魂 171 6.2.2 选用合适的指令——合适的人做合适的事 172 6.2.3 降低数据精度——比特也要省着用 173 6.2.4 减少函数调用——不要老打断我 173 6.2.5 空间换时间——我们总是在走,却忘了停留 174 6.2.6 减少过保护——打不破的部门墙 176 6.3 减少处理器不擅长的操作——不要逼我做我不喜欢的事情 176 6.3.1 少用乘法 177 6.3.2 少用除法、求余 177 6.3.3 在精度允许的条件下,将浮点数定点化 177 6.3.4 尽量减少分支 178 6.3.5 将最可能进入的分支放在 if中,而不是else中 179 6.4 优化内存访问——别让包袱拖垮了你 180 6.4.1 少使用数组,少使用指针 181 6.4.2 少用全局变量 181 6.4.3 一次多访问一些数据 182 6.4.4 数据对齐访问 182 6.4.5 大数据结构时的Cache line对齐 183 6.4.6 程序、数据访问符合Cache的时间、空间局部性 183 6.4.7 多线程编程时,避免false sharing 185 6.4.8 自己管理内存动态分配 185 6.4.9 隐藏数据搬移时间 186 6.5 充分利用编译器进行优化——编译器:我才是优化第一高手 187 6.5.1 编译器的结构——知己知彼,百战不殆 187 6.5.2 编译器提供了几级优化选项——分级管理 188 6.5.3 编译器会计算常量 188 6.5.4 简单的表达式化简 188 6.5.5 提取公共语句 189 6.5.6 循环展开、软件流水 190 6.5.7 自动向量化 190 6.5.8 高效的数据组织 191 6.5.9 指令并行化 191 6.5.10 编译器更懂处理器——百度更懂中文 192 6.6 利用多核来加速程序——人多力量大 193 6.6.1 并行计算 193 6.6.2 OpenMP 197 第7章 SOC——吸星大法 199 7.1 SOC大一统时代 201 7.1.1 SOC和IP 201 7.1.2 SOC市场驱动力 202 7.2 IP核 202 7.2.1 CPU IP 204 7.2.2 GPU IP 205 7.2.3 DSP IP 205 7.2.4 Video Engine IP 208 7.2.5 其他IP core 209 7.2.6 总结 210 第8章 “芯”路历程——明明白白我的“芯” 211 8.1 逻辑电路基础——计算机的基本构成 213 8.1.1 模拟、数字、逻辑的关系——细微之处探真知 213 8.1.2 组合逻辑电路——万丈高楼平地起 216 8.1.3 时序逻辑电路——你在我心中留下了记忆 219 8.1.4 微电子技术——微乎微乎,至于无形 221 8.2 芯片设计——芯者,国之大事,不可不察也 224 8.2.1 人类是怎么管理复杂事物的 224 8.2.2 芯片设计流程 227 8.2.3 硬件描述语言——软硬不分 227 8.2.4 逻辑综合 229 8.2.5 硬件描述语言与软件描述语言的差别 230 8.2.6 物理设计 231 8.3 芯片制造——点沙成金 233 8.3.1 探索微观世界 233 8.3.2 芯片制造流程 234

2013-01-11

嵌入式实时操作系统uCOS-II(第二版)清晰扫描版_邵贝贝

好不容易找到的第二版,真的是第二版。 PDF格式,扫描版,清晰。含封面,目录,书签。 =========================================== 嵌入式实时操作系统μC\OS-Ⅱ(第2版附光盘) 作  者:(美)Jean J.Labrosse 著,邵贝贝 等译 出 版 社:北京航天航空大学出版社 出版时间:2003-5-1 版  次:1页  数:582字  数:979000印刷时间:2003-5-1开  本:16开纸  张:胶版纸印  次:1I S B N:9787810772907包  装:平装 ---------------------------------------- 目录 概述 第1章 初识μC/OSII  1.00 安装 μC/OSII  1.01 范例1  1.02 范例2  1.03 范例3  1.04 范例4 第2章 实时系统概念  2.00 前/后台系统  2.01 代码的临界段  2.02 资源  2.03 共享资源  2.04 多任务  2.05 任务  2.06 任务切换  2.07 内核  2.08 调度  2.09 不可剥夺型内核  2.10 可剥夺型内核  2.11 可重入函数  2.12 时间片轮番调度法  2.13 任务优先级  2.14 静态优先级  2.15 动态优先级  2.16 优先级反转  2.17 任务优先级分配  2.18 互斥条件  2.18.01 关中断和开中断  2.18.02 测试并置位操作  2.18.03 禁止,然后允许任务切换  2.18.04 信号量  2.19 死锁  2.20 同步  2.21 事件标志  2.22 任务间通信  2.23 消息邮箱  2.24 消息队列  2.25 中断  2.26 中断延迟  2.27 中断响应  2.28 中断恢复时间  2.29 中断延迟、响应及恢复  2.30 中断处理时间  2.31 非屏蔽中断  2.32 时钟节拍  2.33 对存储器的需求  2.34 使用实时内核的优、缺点  2.35 实时系统小结 第3章 内核结构 第4章 任务管理 第5章 时间管理 第6章 事件控制块 第7章 信号量管理 第8章 互斥型信号量管理 第9章 事件标志组管理 第10章 消息邮箱管理 第11章 消息队列管理 第12章 内存管理 第13章 移植μC/OSII 第14章 μC/OSII在80x86上的移植 第15章 μC/OSII在带有硬件浮点运算单元的80x86上的移植 第16章 μC/OSII参考手册 第17章 μC/OSII配置手册 第18章 PC中的功能函数 附录A C语言编程规约 附录B μC/OSII的使用许可证 附录C μC/OSII速查手册 附录D 工具程序 附录E 参考文献 附录F 本书所附光盘

2012-10-24

空空如也

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

TA关注的人

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