受不了xxxx恶心人的行为,遂搬迁至博客园。 始发:2014-03-27 13:26:08
此为作者学习工作中的笔记,多有网搜资料;故,若侵权,请告知,第一时间删除。
10.21
在C/C++中,char是C/C++整型数据中比较古怪的一个,而且关于char还有一个特殊的语言就是char *,它在C/C++中有专门的语义,既不同于signed char *,也不同于unsigned char *,专门用于指以'\0'为结束的字符串。
2020.6.13 add
10.30
TIM1是一个完整的马达控制用定时器外设,TIM1_CH1和TIM1_CH1N,用于驱动上下两个功率管。如果Deadtime为0,则TIM1_CH1N是TIM1_CH1的反相,如果Deadtime不为0,则在TIM1_CH1N上插入了Deadtime,防止上下功率管同时导通。
TIM1_ETR是外部触发输入管脚;
TIM1_BKIN是故障信号,用来关闭TIM1的输出。
11.8
MDK主要是为终端客户提供价格低廉,功能强大的开发工具。集成了RealView编译工具,Keil uVision开发环境,支持基于ARM7/ARM9/Cortex-M1/Cortex-M3产品的仿真,提供非常高效的RTOS Kernel。除此,提供的Real-Time库还有TCP/IP网络套件,Flash文件系统,USB器件接口,CAN总线接口等,方便终端用户进行应用开发。
11.11
启动模式设置为SystemBoot即两个Boot引脚,应该是Boot0=1;Boot1=0
查资料看到说:
- BOOT1=X BOOT0=0 启动模式:User Flash memory=你的应用程序
- BOOT1=0 BOOT0=1 启动模式:System memory=ST为串口下载固化的Bootloader
- BOOT1=1 BOOT0=1 启动模式:Embedded SRAM=内部SRAM启动。
BOOT1 BOOT0
- x0=STM32从片上FLASH启动
- 11=STM32从片上SRAM启动
- 01=STM32从系统FLASH启动,运行系统启动(bootloader)程序
11-14
公用电话交换网(PSTN——Public Switch Telephone Network),即我们日常生活中常用的电话网。
PSTN是一种以模拟技术为基础的电路交换网络。在众多的广域网互连技术中,通过PSTN进行互连所要求的通信费用最低,但其数据传输质量及传输速度也最差,同时PSTN的网络资源利用率也比较低。
通过PSTN可以实现的访问:-拨号上Internet/Intranet/LAN;-两个或多个LAN之间的网络互连;-和其它广域网技术的互连 尽管PSTN在进行数据传输时存在这样或那样的问题,但这是一种仍不可替代的联网介质(技术)。特别是Bellcore发明的建立在PSTN基础之上的xDSL技术和产品的应用拓展了PSTN的发展和应用空间,使得联网速度可达到9Mbps~52Mbps之间。
PSTN提供的是一个模拟的专有通道,通道之间经由若干个电话交换机连接而成。当两个主机或路由器设备需要通过PSTN连接时,在两端的网络接入侧(即用户回路侧)必须使用调制解调器(Modem)实现信号的模/数、数/模转换。 从OSI七层模型的角度来看,PSTN可以看成是物理层的一个简单的延伸,没有向用户提供流量控制、差错控制等服务。而且,由于PSTN是一种电路交换的方式,所以一条通路自建立直至释放,其全部带宽仅能被通路两端的设备使用,即使他们之间并没有任何数据需要传送。因此,这种电路交换的方式不能实现对网络带宽的充分利用。下图是一个通过PSTN连接两个局域网的网络互连的例子。在这两个局域网中,各有一个路由器,每个路由器均有一个串行端口与Modem相连,Modem再与PSTN相连,从而实现了这两个局域网的互连。
PSTN的入网方式比较简便灵活,通常有以下几种:
- 通过普通拨号电话线入网。只要在通信双方原有的电话线上并接Modem,再将Modem与相应的上网设备相连即可。目前,大多数上网设备,如PC或者路由器,均提供有若干个串行端口,串行口和Modem之间采用RS-232等串行接口规范。这种连接方式的费用比较经济,收费价格与普通电话的收费相同,可适用于通信不太频繁的场合。
- 通过租用电话专线入网。与普通拨号电话线方式相比,租用电话专线可以提供更高的通信速率和数据传输质量,但相应的费用也较前一种方式高。使用专线的接入方式与使用普通拨号线的接入方式没有太大的区别,但是省去了拨号连接的过程。通常,当决定使用专线方式时,用户必须向所在地的电信局提出申请,由电信局负责架设和开通。
- 经普通拨号或租用专用电话线方式由PSTN转接入公共数据交换网(X.25或Frame-Relay等)的入网方式。利用该方式实现与远地的连接是一种较好的远程方式,因为公共数据交换网为用户提供可靠的面向连接的虚电路服务,其可靠性与传输速率都比PSTN强得多。
11.18
DVR(Digital Video Recorder)——数字视频录像机或数字硬盘录像机,我们习惯上称为硬盘录像机。相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录像机,也被称为DVR。它是一套进行图像存储处理的计算机系统,具有对图像/语音进行长时间录像、录音、远程监视和控制的功能。
DVR采用的是数字记录技术,在图像处理、图像储存、检索、备份、以及网络传递、远程控制等方面也远远优于模拟监控设备,DVR代表了电视监控系统的发展方向,是市面上电视监控系统的首选产品。一般分为:硬盘录像机,PC式硬盘录像机和嵌入式硬盘录像机等。
SDK(Software Development Kit,即软件开发工具包)一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,一般而言SDK即开发Windows平台下的应用程序所使用的SDK。
DLL( Dynamic Link Library,动态链接库)。在windows环境下含有大量 .dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll文件不能直接执行,它们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。
绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe
相对路径:是从当前路径开始的路径,假如当前路径为C:\windows
要描述上述路径,只需输入system32\cmd.exe
实际上,严格的相对路径写法应为.\system32\cmd.exe
11.25
Perl从最初被当做一种跨平台环境中书写可移植工具的高级语言开始,被广泛地认为是一种工业级的强大工具,可以在任何地方用来完成你的工作。perl的前身是Unix系统管理的一个工具,被用在无数的小任务里。后逐渐发展成为一种功能强大的程序设计语言,用作Web编程、数据库处理、XML处理以及系统管理;在完成这些工作时,同时仍能处理日常细小工作,这是它的设计初衷。
Perl特别适合系统管理和Web编程。实际上已经被用在所有Unix(包括Linux)捆绑在一起作为标准部件发布,同时也用在Microsoft Windows和几乎其他所有操作系统。
C程序大致来讲可以分为四个数据区:常量区,静态区,堆区,栈区。
常量区存储了未被作为初始化使用的字符串常量和被const修饰的全局变量,其特点是只可被访问不可被写入,生命周期同程序的运行过程。
静态区存储了全部的全局变量,和所有被static修饰的变量(包括全局和局部),其特点是生命周期很长(为一次程序的运行过程)并且只被初始化一次(在编译之后就已完成!!!)。
栈区存储了所有自动存储(不加任何存储类型关键字修饰或被auto修饰)的局部变量,其特点是生命周期很短,仅仅是该变量所在函数的一次调用过程。运行时有操作系统分配并在函数结束后回收。
堆区是由操作系统负责维护的大片内存池,使用时需手动申请(调用malloc家族函数),但使用完毕后需手动释放,否则会造成严重的内存泄漏,直到该进程退出后才会被操作系统回收。
11.26
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet,简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。
BusyBox 最初是由 Bruce Perens 在 1996 年为Debian GNU/Linux安装盘编写的。其目标是在一张软盘上创建一个可引导的GNU/Linux 系统,这可以用作安装盘和急救盘。
Scratchbox 是一个帮助嵌入式Linux 跨平台编译工具的集合,其目的主要是使得嵌入式Linux 应用程序开发更加容易,它也提供了完整的集成工具链用来跨平台编译集成出一个Linux 发布版。
注:同样功能还有 Buildroot - Making Embedded Linux Easy,Yocto - IT'S NOT AN EMBEDDED LINUX DISTRIBUTION, IT CREATES A CUSTOM ONE FOR YOU.
export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆(的shell)操作。
11.27
POSIX代表“ 可移植操作系统接口(Portable Operating System Interface of Unix) ”,它定义了一组标准,以提供不同计算平台之间的兼容性。该标准的当前版本是IEEE 1003.1 2016,可以从OpenGroup POSIX规范访问。以前的版本包括POSIX 2004和POSIX 1997 。 POSIX 2016版基本上是POSIX 2008和勘误表(也有POSIX 2013版本)。
POSIX为类UNIX操作系统和其他操作系统定义了各种工具接口,命令和API。
以下被认为是在POSIX标准化的范围内:
- 系统接口(函数,宏和外部变量)
- 命令解释器,或Shell( sh实用程序)
- 公用事业(如more, cat, ls )
在POSIX范围之外:
- DBMS接口
- 图形界面
- 二进制代码可移植性