- 博客(161)
- 资源 (11)
- 收藏
- 关注
转载 RSA - 原理、特点(加解密及签名验签)及公钥和私钥的生成
Wiki - RSA加密演算法Wiki - 欧拉函数Wiki - 模反元素ASN.1 格式标准RSA算法原理(二)注意:RSA 加密或签名后的结果是不可读的二进制,使用时经常会转为 BASE64 码再传输。RSA 加密时,对要加密数据的大小有限制,最大不大于密钥长度。例如在使用 1024 bit 的密钥时(genrsa -out rsa_private_key.pem 1024)...
2019-06-20 11:36:42
1190
转载 嵌入式环境下并发控制与线程安全
嵌入式环境下并发控制与线程安全代码规模日益增大和基于RTOS的多线程技术使嵌入式软件开发越来越关注“并发控制和线程安全”,当多个执行线程(指正在运行代码的任意上下文,包括线程和中断服务程序)需要访问相同的共享资源时(包括软件数据和硬件资源),就可能因为竞态而导致错误。这种错误容易制造,但很难找到,从设计上保证正确性收益更大。竞态的产生当一个共享资源被多个执行线程“非原子性”访问时,一个执行...
2019-06-10 23:51:41
934
原创 win7 64,ssh连接Ubuntu16.04经历
通过如下命令安装并启动ssh 服务# apt-get install -y openssh-server# service ssh startPC 客户端链接Ubuntu出现如下提示:提示 server responded "algorithm negotiation failed"则需要修改/etc/ssh/sshd_config文件,在文件的最后添加...
2019-06-08 00:03:59
1052
原创 Ubuntu16.04安装Samba 细节
1 安装view plaincopysudoapt-getinstallsamba2 配置打开Samba配置文件:view plaincopysudo gedit /etc/samba/smb.conf. 创建共享目录$ sudo mkdir -p /home/share一般来说,该目录的权限为755,将其改为777之后,Own...
2019-06-04 23:17:05
25285
转载 iso7816经验
本人在同STM32芯片模拟ISO7816协议的时候,在释放触点的函数中发现其中一个被配制成复用开漏的IO管脚怎么都无法拉低。其代码如下://释放智能卡触脚void PSAM_DeInit(){//拉低触脚电平 GPIO_ResetBits(PSAM_GPIO, PSAM_RST); GPIO_ResetBits(PSAM_GPIO, PSAM_IO); GP...
2019-06-03 11:58:56
1968
转载 视频压缩:I帧、P帧、B帧
视频压缩:I帧、P帧、B帧2013年12月28日 10:43:15吾居榕树下阅读数:18139/**************************************************************************************************************************************************...
2019-05-31 14:07:51
631
转载 计算2个GPS坐标的距离
计算2个GPS坐标的距离2017年04月15日 10:00:44yi412阅读数:17491http://blog.youkuaiyun.com/ztp800201/article/details/44676867Java计算两个GPS坐标点之间的距离1. Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度;2. a=Lat1 – Lat2 为两点纬...
2019-05-28 19:13:01
6591
转载 一、AUTOSAR概述
1.建立AUTOSAR王朝的目的一句话解释AUTOSAR:Automotive Open System Architecture(汽车开放系统架构)。既然AUTOSAR是关于汽车电子的,自然是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立的。起义,要有起义口号,比如让人民富裕起来,建立AUTOSAR,也是出于某个目的的,这个目的也是为了解决目前存在的问题:1)...
2019-03-13 13:47:55
598
转载 AUTOSAR 网络管理NM
关于AUTOSAR的底层驱动、平台OS、平台应用、RTE、应用软件这些和VxWorks653很相似,就不多赘述了。此处说一下AUTOSAR独有的网络通讯规范和网络管理模块NM一、AUTOSAR COMAUTOSAR COM是AUTOSAR标准的一部分,它是从OSEK COM标准的基础上发展而来的。AUTOSAR COM提供了一种标准化的访问汽车通讯系统和ECU(Electronic C...
2019-03-13 13:45:09
8267
原创 STM32 L051 开发问题集合
STM32L051K8T6 一、使用官方的HAL库作串口驱动,与之前的驱动库不一样,使用的是串口中断接收不定长数据,然后通过DMA发送出来;在调试过程中出现的问题是 串口中断接收数据,出现丢失字符现象,经过配置串口的中断优先级与DMA中断的优先级得到问题的解决。以下是程序代码例程链接https://download.youkuaiyun.com/download/huan447882949/10...
2019-01-18 16:34:19
3618
原创 stm32 l0相关的eeprom
内部FLASH和EEPROM这种掉电后还能保存内容的内存统称为non-volatile memory(NVM),STM32L053内部有2K的EEPROM. 内部EEPROM的页大小为一个Word为单位,擦除是必须以页为单位,所以库函数里的擦除函数也是每次擦除4个字节: view plaincopy to clipboardprint?/** * @br...
2019-01-07 17:20:18
1649
转载 stm32串口不定长数据接收(hal库)的若干问题
http://www.stmcu.org/module/forum/thread-606385-1-1.htmlhttps://blog.youkuaiyun.com/u014515202/article/details/73293917/https://blog.youkuaiyun.com/qq_24376681/article/details/78729946使用串口空闲中断和DMA配合时出现的问题:...
2018-12-13 17:26:05
5989
转载 STM32 DMA USART串口发送解析
数据传输时要从支持那些相关的标准?传输的速度?什么时候开始?什么时候结束?传输的内容?怎样防止通信出错?数据量大的时候怎么弄?硬件怎么连接出发,当然对于stm32还要熟悉库函数的功能具起来rs232和485电平的区别硬件外围芯片,波特率(反映传一位的时间),起始位和停止位,数据宽度,校验,硬件流控制,相应连接电脑时的接口怎么样的。配置,使用函数,中断,查询并结合通信协议才算了解了串口使用。...
2018-12-12 17:00:43
2262
转载 strstr(str1,str2) 函数
可能有的人还没听过strstr函数,个人认为这个一个很实用的函数,strstr(str1,str2) 函数是字符串处理函数之一,位于头文件 “string.h”中。对于处理字符串的一些问题有很大的帮助。定义:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。源于百度百科:ht...
2018-09-26 14:03:13
91040
2
转载 vim之函数跳转功能
很多人使用vim的时候, 会发现函数跳转的功能没有,怎么办?vim提供了强有力的函数跳转的插件功能!首先要安装ctags, 在ubuntu下直接输入sudo apt-get install exuberant-ctags 接着,在源文件目录树(这里是在/home/ballack/test/目录下)执行如下命令:ctags -R .即可在/home/ballack/test目...
2018-08-30 09:33:40
1796
转载 简单的测试调试代码方法
对于很多c语言的初学者来说,如何使用微软公司的VS2010来调试程序很重要,而我也是刚刚开始使用VS2010,感觉它要比VC++6.0智能很多,使程序员更加方便。下面我就简单介绍一下如何建立一个c程序并进行调试。 1.首先文件-》新建-》项目 2.选择win32控制台应用程序,并填写项目名称,然后下一步 3。在应用程序设置这里,选择空项目,然后点击完成 4.这...
2018-08-30 09:30:00
4725
转载 结构体中函数指针初始化
/** * 为结构体中的指针数组赋值 */#include <stdio.h>typedef struct test{ void (*p)(void); void (*q)(void); void (*y)(void);}test;void f1(void){ printf("f1\n");}void f2(void){...
2018-08-17 23:01:36
4210
转载 IAR工程移动遇到的问题
IAR的工程路径和头文件路径的配置问题。之前有多次受到这个问题的困扰,为了一劳永逸的解决问题,将可能出现的问题进行了总结。解决方法: 首先!!注意最重要的,要先把程序复制一份然后再来进行修改!!!1.如果是找不到头文件,那么在OPTION的 c++项和assembler项的Preprocessor选项卡中将头文件所在的路径加入到包含路径中即可。注意:你自己必须清楚这个文件是在哪个文件夹...
2018-08-17 10:21:05
1884
转载 指针的基本知识
1、从变量的三要素开始谈起 为了把复杂的事情说简单,我们抛开指针先从变量谈起。(好吧,不知道这个笑话是不是够冷)一个变量(Variable),或者顺便兼容下面向对象(OO)的概念,我们统一称为对象(Object),除了保存于其中的内容以外,只有三个要素:1)由一定宽度无符号整数(Unsigned Integer)所表示的地址“数值”(Address Value)2)对象的大小(Siz...
2018-08-06 16:55:04
536
转载 nxp_LPC串口下载方式流程
试multicore_m4master_blinky这个例程在工程文件夹的debug目录下就能生成HEX文件了 配置好FlashMagic接下来就是很重要的一步了,使板子进入Boot(ISP)模式,并通过串口下载HEX文件其实主要是按键的次序,这里注意 按住 和 按一次 的区别如何进入boot呢?上电的状态下,按住SW2键(ISP),按一下SW3键(RESET),然后松开SW2键即进...
2018-07-30 17:34:58
3919
转载 ARM启动过程(Cortex-M4 NXP QN9080为例)
CMSIS 到底是什么CMSIS的意思是Cortex Micro-controller Software Interface Standard,微控制器软件接口标准, 是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。CMSIS 可实现与处理器和外设之间的一致且简单的软件接口,从而简化软件的重用,缩短微控制器开发人员新手的学习过程,并缩短新设备的上市时间。 如何使用CMSIS...
2018-07-23 16:12:30
2125
1
转载 分散加载LPC2378芯片
http://www.cnblogs.com/xidongs/p/3527583.html对于分散加载的概念,在《ARM体系结构与编程》书中第11章有明确介绍。分散加载文件(即scatter file 后缀为.scf)是一个文本文件,通过编写一个分散加载文件来指定ARM连接器在生成映像文件时如何分配RO,RW,ZI等数据的存放地址。如果不用SCATTER文件指定,那么ARM连接器会按照...
2018-07-21 18:04:50
397
转载 keil .sct分散加载文件及其应用
分散加载能够将加载和运行时存储器中的代码和数据描述在被称为分散加载描述文件的一个文本描述文件中,以供连接时使用。(1)分散加载区分散加载区域分为两类:? 加载区,包含应用程序复位和加载时的代码和数据。? 执行区,包含应用程序执行时的代码和数据。应用程序启动过程中,从每个加载区可创建一个或多个执行区。映象中所有的代码和数据准确地分为一个加载区和一个执行区。(2)分散加载文件示例ROM_...
2018-07-20 16:02:41
747
转载 Keil sct分散加载文件
首先介绍几个概念:1.ARM映像文件ARM映像文件是一个层次性结构的文件,其中包含了域(region)、输出段(output section)和输入段(input section)。各部分关系如下:一个映像文件由一个或多个域组成 每个域包含一个或多个输出段 每个输出段包含一个或多个输入段 各输入段包含了目标文件中的代码和数据输入段中包含了4类内容:代码、已经初始化的数据、未经初...
2018-07-20 15:55:16
435
转载 error: A1355U: A Label was found which was in no AREA 终级解决办法
error: A1355U: A Label was found which was in no AREA在KEIL工程中,我使用另一个工程中正确的分散加载文件到一个新工程中,竟然就出现这样的提示。到网上搜索,有很多内容是关于这个问题的,但是却没有几个很好解决问题的。其实出现这个问题有两种情况,一种是出现在.s的汇编文件中,另一种是出现在.scf (或者.scat)等的分散加载文件中。...
2018-07-17 16:18:57
2880
1
转载 keil分散性加载文件scf实例
一、 将.c文件加载到指定位置要实现keil下的分散加载,需要修改sct文件,本工程要实现将hw_config.c文件加载到0x08002000起始位置,本工程的的sct文件为Project\ScatterLoading\MDK-ARM\Project.sct,打开如下:; ***********************************************...
2018-07-17 15:48:57
910
转载 记录下 分散加载LPC1788
这个链接是我在官网上找到的关于分散加载文件的资料。讲的比较详细了。这里通过一个例子记录下我学习的过程,通过分散加载文件把代码从flash里拷贝到ram里运行, 基于LPC1788。 先贴下我的sct文件:LR_IROM1 0x00000000 0x00002000 { ER_IROM1 0x00000000 0x00020000 { *.o (RESET, +F...
2018-07-17 15:21:40
412
转载 指定某个函数或变量存放的地址
在我们开发过程中,有时候会有这样一个需求:希望能够指定某个函数或变量存放的地址。也许你看过一些文章,里面介绍了一大堆内容,甚至于还会介绍分散加载文件的配置。但是绝大多数情况下,为了实现这么一个简单的功能,还要学太多东西,是不是一下就懵了?那么,请继续往下看吧。这篇文章会教你一种非常简单的方法,一看就会。只需要使用__attribute__((section(".ARM.__at_a...
2018-07-17 15:02:16
20924
4
转载 keil程序在外部RAM中调试的问题总结
keil程序在内部RAM调试的基本步骤网上已经有很多了,我就不再赘述,大家可以在网上搜到很多。但是有些时候内部RAM并不够用,这就需要将程序装入外部RAM中调试,而在这个过程中可能会出现各种各样的问题,在这里我将会把我遇到过的一些问题和需要注意的地方总结一下,希望能够对大家有所帮助。有错误的地方也希望大神们能够不吝赐教,提前表示感谢···转载请注明出处:waitig's blog先介绍下我项目使用...
2018-07-14 22:48:41
4076
转载 keil将程序装入外部FLASH详解
在实际项目中,经常出现芯片的内部FLASH空间不够的情况,这就需要将程序分一部分装到外部FLASH中。为了让大家能少走些弯路,在这里把我在这其中遇到的一些问题和经验教训给大家分享一下。仅供参考,如果有错误的地方欢迎指正,提前表示感谢!硬件环境介绍芯片是LPC1788,外部FLASH是SST39VF1601(NORFLASH)。这个norflash在我的版本的keil(v4.0)中没有烧写算法,需要...
2018-07-14 22:47:45
17698
转载 配置FatFs并批量写入txt文件
继上一篇文章连接好FatFs与SD卡后,这里开始介绍如何配置操作FatFs。第一步、建立文件系统和文件结构变量,相当于为文件系统以及文件开辟一个实体,如下图第二步、加载文件系统(Mount or Unmount),这里需要调用f_mount函数,函数格式如下FRESULT f_mount (FATFS* fs, /* Pointer to the file system object (NULL...
2018-06-28 10:16:53
5394
15
转载 Cortex-M单片机下载数据到外部flash
主机环境:Windows 10 64bit开发环境:MDK 5.23目标板:LPC54114之前在NXP社区得到一块LPC54114的板卡,是由万利制作的,LPC54114是一款双核MCU,包含了一颗M4主核和一颗M0+从核,利用该板卡学习了一下双核MCU的开发流程,板卡中提供了一颗W25P80FLASH,之前拥有的板卡都没有挂外部FLASH,刚好之前利用LPC54608学习TouchGFX时可以...
2018-06-26 13:54:27
1785
转载 CCP下位机驱动程序解析
便于理解CAN标定的工作原理main_functionccpInitCalPage //初始化标定页,将标定ROM数据(16K)读取到RAM(初始化标定RAM)while(1)if (CAN_bNewData(8))//如果有CAN消息CAN_vGetMsgObj(8,&o); //接收CAN消息ccpCommand(&o.ubData[0]); //处理接收到的CAN消息i...
2018-06-02 10:55:42
2907
转载 LCd控制器与lcd
1、LCD控制器 1) 显示控制器主要负责从内存中或者FIFO通道中获取图像/视频数据,以一定的方式叠加、混合,将最终的图像送出到外部液晶显示器去显示,并具有0、1、2层的FIFO输入接口及一个外部FIFO输出接口。 2) 什么是LCD控制器 LCD控制器同LCD驱动器是有着本质区别的。简单来说LCD控制器在嵌入式系统中的功能如同显卡在计算机中所起到的作用。LCD控制器负责把显存(可能是内存...
2018-05-31 13:50:50
4796
1
转载 enWIN 设置中文!!
这里以加入中文字体为例,说明如何建立字库,调用,并显示字体1. 字体库的建立 打开macs文件中的emwinSoftware文件夹,打开FontCvtST.exe文件 选择Standard 点击OK这里以微软雅黑为例,字号24,24字号表示一个英文字符宽12像素长24像素,而中文字符长宽都是24像素。字体界面,默认所有字是启用的状态,左侧数字是字的字符标准编码因为我们不建立有所有字体的字库(太...
2018-05-30 20:11:24
1679
转载 汽车 ECU 升级初探
ECU 固件升级,类似于手机固件升级,大概流程是实现 Bootloader,完成 EEPROM/Flash 的读写,当然需要了解 ECU 所使用的 MCU,MCU 内部EEPROM/Flash 和外部 EEPROM/Flash 的读写,学习门槛很高,别的不说,光是 ECU 固件逆向就不容易,因为需要了解 10 多种 MCU 汇编语言,还需要编写各种 IDA 插件,难度很大。本文对 ECU 固件升级...
2018-05-30 11:33:21
3768
1
转载 车辆ECU需要更新软件
目标: 车辆ECU需要更新软件,通过OBD口实现,通过CAN总线实现,编程语言是CAPL。 刷写流程基于ISO15765-3;应用层基于UDS(ISO14229)诊断协议;TP层基于ISO15765-2;数据链路层和物理层基于ISO11898实现: 1.图形用户界面使用CANoe自带的panel来实现,用户可以选取刷写文件,ECU的地址等信息,这些信息通过环...
2018-05-30 11:30:26
5057
5
转载 大众奥迪车 UDS协议ECU的诊断
老的 VAG1551 和 VAG1552 只支持 ISO9141 和少部分 ISO14230 车辆 VAS5051 和 VAS5052 多支持 ISO 15031 (EOBD) 和 ISO - 15765 (can-bus) 不支持 UDS 所以已经在2007年开始淘汰大众.奥迪.宾利 原厂ASAM MCD3 诊断终端 VAS5052A + VAS5054A 满足 2006年后...
2018-05-30 11:23:04
1987
转载 near、far、huge关键字
far即为远地址,16位模式下(如80x86系列)内存是分段寻址的; (一个段就是 2^16,即64k)指定void far fun1();的话,是说函数fun1的入口点在其它段中,调用时将用到段地址; 如果指定为near的话,入口点将在本段之内,调用时值使用段内的偏移地址。 32位中采用线性的平坦寻址方式,这一概念已被抛弃了,内存中地址统一为32位宽,大体 说来就是这样,细节参见相关资料...
2018-05-30 09:47:32
2017
转载 MODBUS通讯协议及编程
一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请...
2018-05-27 19:39:56
23873
3
STM32 L053串口中断接收不定长数据DMA发送数据
2019-01-25
Source Insight4.0
2018-09-26
LPC54608样例
2018-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人