自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

转载 CommonAPI使用例子-HelloWorld

参考: https://at.projects.genivi.org/wiki/pages/viewpage.action?pageId=5472316 目录结构 存放文件 解释说明mkdir project 项目目录mkdir cgen 存放代码生成器commonapi-generator commonapi_someip_generator mkdir fidl 存放*.fidl+*.fdepl文件vim HelloWorld.fidl vim HelloWorld.fdepl

2020-05-11 15:25:21 6112 11

转载 CRC的计算过程你真的搞明白了吗??

在网上搜索CRC的相关资料,一下搜出一大堆,但是基本上都是讲的比较笼统,几乎都是千篇一律,但是按着网上搜的例程算了一遍自己要计算的数据,但是结果与用CRC软件算出来的结果不一致,是不是自己算错了呢?????网上搜到的crc资料基本上都是用下面这个例子来解释CRC的,但是我用在线的CRC工具输入上方数据是,产生的结果如下:接下来就开始干货吧,直奔主题。参数模型有以下较多的模型,共参考使用。...

2020-04-27 15:48:12 3751 2

原创 vsomeip+*.fidl+*.fdepl(3)

二.someip-SD消息头部分当使用someip-sd功能时,someip的消息头部分应设置成这样。1.someip-sd的公共部分2.someip-sd的entry类型3.someip-sd的option的公共部分4.someip-sd的option类型...

2020-03-25 15:43:12 1457

原创 vsomeip+*.fidl+*.fdepl(2)

1.SOME/IP的公共的消息头部分2.message_type+return_code各种消息类型对应于*.fidl中的各种方法

2020-03-20 11:25:29 2028

原创 someip+*.fidl+*.fdepl(1)

package commonapi.mthdinterface Methods { version {major 3 minor 1} attribute Int32 x//属性(Field) method foo {//双向方法(Request & Response Method) in { Int32 x1...

2020-03-17 17:29:42 2345 1

原创 CommonAPI新版本配置

1.直接在网上下载commonAPI 的运行时源代码,复制到目标目录下(例如/home/***/commonAPI),并解压,https://github.com/GENIVI/capicxx-core-runtime: 3.1.12版本https://github.com/GENIVI/capicxx-someip-runtime: 3.1.12版本https://github.com/G...

2020-03-16 18:47:49 2942 10

原创 CommonAPI 使用说明文档

一、概述1.CommonAPI C++是什么?CommonAPI C++是用于开发分布式应用程序的标准C++ API规范,该分布式应用程序通过中间件进行进程间通信。2.CommonAPI C++的目的是什么?CommonAPI C++依靠FrancaIDL来描述静态接口,根据通信协议部署参数,一起组建完整的实例依赖关系模型。目的是封装通信协议和相邻的中间件,使应用程序的C++接口独立于底层...

2020-03-05 16:15:45 23964 11

原创 CommonAPI编写代码

一、Methods.fidl1、编写Methods.fidl文件package commonapi.mthdinterface Methods { version {major 1 minor 0} attribute Int32 x method foo { in { Int32 x1 Strin...

2020-03-05 15:11:35 6290 10

原创 安装CommonAPI

在安装CommonAPI之前,要先确保已经安装了CMake,并确保 CMake版本 > 2.8.12.1.在目标目录下执行下面命令,下载commonAPI 的源代码,然后通过编译生成为CommonAPI运行时库git clone https://github.com/GENIVI/capicxx-core-runtime.git或者可以直接在网上下载,复制到目标目录下(例如/home...

2020-03-03 14:30:24 2962 2

原创 操作系统+处理器架构

一般开发环境的组成就是 一种操作系统+一种处理器架构。比如:ARM+Android:最早发展、完善的支持,主要在手机市场、上网本、智能等市场;X86+Android:有比较完善的发展。有atom+Android的上网本,且支持Atom+Android 和 Atom+Window7双系统;MIPS+AndroidPowerPC+Android...

2020-01-09 11:24:15 647

转载 交叉编译详解 一 概念篇

第 1 章 交叉编译简介1.1 什么是交叉编译对于没有做过嵌入式编程的人,可能不太理解交叉编译的概念,那么什么是交叉编译?它有什么作用?在解释什么是交叉编译之前,先要明白什么是本地编译。本地编译本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译:比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使...

2020-01-08 17:29:38 576

原创 CMake配置

1.在网上下载cmake压缩包cmake-3.16.2.tar2.将其复制到自己想要存放的目录下,例如/home/commonAPI3.解压tar -zxv -f cmake-3.16.2.tar4.进入解压缩后的文件夹cd cmake-3.16.25.执行配置文件./configure6.编译make7.安装make install安装时会报错,错误提示为:...

2019-12-31 09:15:29 990

转载 SOME/IP SD

2019-12-19 14:30:38 1491

转载 SOME/IP 协议

2019-12-19 14:17:53 1398

原创 网络协议总结(1)

@TOC欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全...

2019-12-19 13:44:56 183

原创 根据升级协议的lvds升级

1.中控和仪表通信并且传输升级包主要就是传输升级包的功能,传输通路是socket, 传输协议是东风的双屏互动的升级协议。用TCP的socket,写个socket线程替代原来的spi_ipc_lvds内部的线程。除了修改协议,adptor和spi_ipc_cluster通过一个socket线程替换就可以。主要是用tcp,socket创建读写函数接口,替换原来的adptor中的读写接口,这样可...

2019-10-18 13:43:59 477

转载 批处理

批处理的作用简单的说,批处理的作用就是自动的连续执行多条命令。常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起。\echo 表示显示此命令后的字符echo off 表示在此语句后所有运行的命令都不显示命令行本身@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当...

2019-10-18 12:07:57 468

转载 protobuf

1.在protobuf的术语中,结构化数据被称为Message;proto文件非常类似java或者c语言的数据定义,可以使用C或C++风格的注释。2.一个proto文件主要包含package定义、message定义和属性定义三部分。package在C++中对应namespace;Message在C++中对应class。Message中定义的全部属性在class中全部为private;属性定...

2019-10-18 12:03:59 439

转载 CMake

1.【指定cmake的最小版本。】这行命令是可选的,我们可以不写这句话,但在有些情况下,如果CMakeList.txt文件中使用了一些高版本cmake特有的一些命令的时候,就需要加上这一行,提醒用户升级到该版本之后再执行cmake.cmake_minimum_required(VERSION 2.8.4)2.【设置项目名称。】这个命令不是强制性的,但最好都加上。它会遗憾如两个变量demo...

2019-10-18 12:02:03 247

翻译 C++代码规范

1.表示类型的名称必须混合使用,以大写字母开头。Line, SavingsAccount2.变量名必须混合使用,以小写字母开头。line, savingsAccount3.命名的常量(包括枚举值)必须是大写的,使用下划线分隔单词。(也就是宏定义用大写并下划线)MAX_INERATIONS, COLOR_RED, PI一般来说,这些常量的使用应该尽量减少。在许多情况下,将值实现为方法是更...

2019-10-18 12:00:39 744

原创 CRC校验原理及步骤

什么是CRC校验?CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC校验原理:其根本思想就是现在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注意,这里的数也是二进...

2019-10-18 11:59:09 1856

原创 devctl函数

函数的作用是:将特定于设备的命令dcmd发送给管理作为filedes打开的设备的进程。Device-control commands设备控制命令Use these macros to set up the device-control commands:使用这些宏设置设备控制命令:__DIOF(class, cmd, data)//Get information from the devic...

2019-10-18 11:49:56 4481

原创 Ping

一:实例1:显示网络设备信息(激活状态的)命令:ifconfig输出:[root@localhost ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0UP BROA...

2019-10-18 11:48:19 287

原创 OTA升级设置系统时间问题

ota升级的需要系统时间一直,通过提取CAN信号,经ioc将消息发送给soc,在system中的onBroadcast,将消息提取出来,并通过mktime()和settimeofday()来设置系统时间。1.tm结构体的tm_year成员,需要通过year-1900来赋值,因为tm_year从1900开始计数2.上面要求一段时间检查一次,所以设置了一个flag,利用flag % 60 == 1...

2019-10-18 11:36:50 492

转载 脚本控制------------------------(nice与renice命令、进程优先级控制)

5.4 nice与renice命令 在多任务操作系统中,内核负责为系统中运行的每个进程分配CPU时间。实际上,CPU中一次只能运行一个进程,因此内核轮流向每个进程分配CPU时间。 默认情况下,从shell启动的所有进程在Linux系统上的调度优先级都相同。调度优先级是内核相对其他进程分配个某一个进程的CPU时间量。 调度优先级是一个整数值,从...

2018-10-22 10:15:00 812 1

转载 进程间通信的8种方式

转 进程间通信的8种方式 2017年0...

2018-09-05 10:25:56 608

转载 批处理文件(.bat)的写法——DOS命令大全

批处理文件(.bat)的写法——DOS命令大全1 先来看看.cmd,.bat是什么:.bat是dos下的批处理文件;.cmd是nt内核命令行环境的另一种批处理文件;因此,二者是没有本质区别。从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形...

2018-09-01 17:29:47 23732

转载 [i.MX6Q][QNX Neutrino 6.6.0]调试笔记------Buildfile

利用QNX的模块性和和可裁剪性,其嵌入过程一般是:构建Buildfile -> 编译buildfile生成系统映象文件 -> 启动目标系统 ->嵌入式系统软件设计。其中的关键是构建Buildfile。通常一个嵌入式系统需要一个可启动的操作系统映象文件(OS Image)。对于基于QNX的嵌入式一个应用系统,就是根据所选择的C...

2018-09-01 14:42:47 377

原创 C++容器--map_string

#include <iostream>#include <map>#include <string>using namespace std;class Student{public: Student(int id,string name,string grade) { this->id = id; this->name = name; this...

2018-03-01 17:18:11 808

原创 C++容器--set_string

#include <iostream>#include <set>#include <string>using namespace std;void printS(set<int> &s){ set<int>::iterator it = s.begin(); while(it != s.end()) { cout <&l...

2018-03-01 16:42:40 2970

原创 C++容器--stack,queue

#include <iostream>#include <stack>#include <queue>using namespace std;//栈void func1(){ stack<int> s; s.push(1); s.push(2); s.push(3); cout << s.top() << endl; cout...

2018-02-11 18:09:11 192

原创 C++容器--list,queue

#include <iostream>#include <list>#include <queue>using namespace std;//遍历void printL(list<int> &l){ list<int>::iterator it = l.begin(); while(it != l.end()) { cout ...

2018-02-10 22:04:55 395

原创 C++容器--vector

#include <iostream>#include <vector>#include <algorithm>using namespace std;//1.容器的遍历void printV(vector<int> &v){ vector<int>::iterator it = v.begin(); while(it != v....

2018-02-10 21:29:25 135

原创 C++容器---string

#include <iostream>#include <string>#include <algorithm>using namespace std;//1.string 的构造void func1(){ string s1("hello"); string s2 = "123"; string s3 = s1; string s4(10,'a'); cout...

2018-02-10 20:47:54 143

原创 C++模板库--容器

标准模板库     容器:各种各样的数据结构,存储数据:数组,联邦,栈,队列,树...     迭代器:提供了一种同一的方式去遍历容器中的数据     算法:处理数据,排序,查找,遍历...容器算法迭代器关系   (1)#include <iostream> #include <vector> #include <algorithm> 容器:数据结构的封装,用来...

2018-02-07 22:53:23 463

原创 C++笔记(八)

1.类型转换  (1)statuc_cast       A:普通类型数值之间的转换,不能进行指针之间的转换;         double d = 1.2;       //int a1 = (int)d;//强制类型转换       //printf("a1 = %d\n",a1);int a1 = static_cast(d);      printf("

2018-02-02 20:13:15 198

原创 C++笔记(七)

1.函数模板和类模板     函数:返回值,函数名,函数参数列表     函数形参列表:变量(变量类型)(变量名(值))   (1)void mySwap(char &a1,char &a2)...        void mySwap(double &a1,double &a2)...        void mySwap(int &a1,int &a2)...   (2

2018-02-01 21:59:58 141

原创 C语言深度解析(四)

9.运算符的优先级        @1.运算符的优先级表优先级          运算符          名称或含义           结合方向   1             []              数组下标           从左到右                 ()               圆括号                       

2018-01-30 19:38:30 336

原创 C++笔记(六)

三。多态1.多态概念    (1)在基类指针指向派生类的情况下,根据外部传入的对象类型的不同,调用不同派生类自己的成员函数;        为了实现上述的功能,需要做一些额外的操作;        将基类的函数设为虚函数:在函数声明前加一个virtual关键字。        class Animal        {         public:       

2018-01-30 19:35:57 174

原创 C语言深度解析(三)

二。符号    1.标准C语言的基本符号             符号            名称              符号               名称        ,            逗号               >                右尖括号        .             圆点               !        

2018-01-28 21:21:39 498

空空如也

空空如也

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

TA关注的人

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