- 博客(30)
- 资源 (7)
- 收藏
- 关注
原创 UDS 29 认证服务
此服务的目的是为客户提供一种证明其身份的方法,允许其访问数据和/或诊断服务,这些数据和/或诊断服务由于安全、排放或安全等原因而受到限制。用于将例程或数据下载/上传到服务器以及从服务器读取特定内存位置的诊断服务可能需要身份验证。不正确的程序或下载到服务器的数据可能会潜在地损害电子设备或其他车辆部件,或危及车辆的排放、安全或安全标准的遵守。另一方面,当从服务器检索数据时,可能会违反数据安全性。概念 1 :基于使用非对称密码的 PKI 证书交换过程。
2023-09-01 14:58:08
971
转载 DoIP(一)-基础概念
该端口由外部诊断设备在49152-65535范围内动态定义,用于诊断设备向DoIP节点发送的UDP报文,在报文中作为源端口,报文的目的端口应设置为UDP_DISCOVERY。当DoIP节点向诊断设备发送响应的时候,报文中的目的端口应设置为UDP_TEST_EQUIPMENT_REQUEST,源端口可以为UDP_DISCOVERY,也可以有DoIP节点动态定义。
2023-08-31 17:31:04
470
原创 IAR中以常量形式存到到ROM或FLASH的指定位置
步骤:1.修改工程.icf文件:在place at address mem:ICFEDIT_intvec_start { readonly section .intvec };之前加一句话:place at address mem:0x08010000 { readonly section .MYTEST };其中0x08010000是要存放常量的绝对地址2.修改.c文件:在.c文件定义要保存的常量,如保存某个版本:__root const char str1[32]@".MYTEST"=
2020-09-02 21:45:53
2619
原创 Qt 选择性编译和库裁减(进一步裁剪)
根据上述方法方式进行裁剪,本人所裁剪QT配置(保存在qteverywhere.sh):#!/bin/sh./configure \-prefix /usr/local/arm/qt4.8.6\-opensource \-confirm-license \-release \-static \-embedded arm \-xplatform qws/linux-a...
2020-04-23 13:32:51
326
1
转载 uboot启动分析 命令添加
#defineCONFIG_SPLASH_SCREEN//必需,真正的作图函数在这个宏控制之下经典=Uboot-5-菜单制作http://www.docin.com/p-680912465.htmlhttp://www.docin.com/p-773293099.html要记录http://xouou.iteye.com/blo...
2020-02-29 16:48:57
592
原创 更换内核开机logo
kernel logo之PPM图片转换一、将png图片改成.ppm格式。如linux_logo.png ①将png图片转成pnmpngtopnmlinux_logo.png > linux_logo.pnm ②将pnm图片的颜色数限制在224色pnmquant224 linux_logo.pnm > logo_clut2...
2020-02-29 09:52:32
832
原创 Linux下SPI驱动框架分析
Linux下SPI驱动框架分析Linux的spi接口驱动实现目录在linux-2.6.22.6\drivers\spi下。首先通过看Kconfig 和 Makefile来找找思路先看Makefile,## Makefile for kernel SPI drivers.#ifeq ($(CONFIG_SPI_DEBUG),y)EXTRA_CFLAGS += -DDEBUG...
2020-02-23 23:34:16
972
原创 linux 串口uart驱动简析
在S3C2440中Linux系统的串口驱动与一般字符设备并一样,它采用层次化的架构,从而看做是一个串行系统来实现。(1)关注UART或其他底层串行硬件特征的底层驱动程序。(2)和底层驱动程序接口的TTY驱动程序。(3)加工用于和TTY驱动程序交换数据的线路规程。下图描述了串行系统间的层次结构关系(s3c2440串口实现例),可以概括为:用户应用层 --> 线路规划层...
2020-02-14 22:19:16
678
原创 移植内核3.4.2
1、解压tar xjf linux-3.4.2.tar.bz22、进入解压后的文件目录,修改顶层Makefile ARCH=arm CROSS_COMPILE=arm-linux-3、选择默认配置 内核默认已经支持很多单板,以defconfig命名结尾,搜索默认配置单板。 find -name"*defconfig" make s3c2410_de...
2019-11-03 18:25:46
207
原创 uboot移植5-裁剪和修改默认参数
uboot启动会从nandflash读取环境变量,如果读取失败,会使用默认环境变量,如上图是读取失败使用默认参数的打印信息。修改默认参数:1、搜索using default environment,发现默认环境变量存在全局变量default_environment结构体中(common/env_common.c)如上图,想修改哪个默认参数值,只需要要inclu/configs/...
2019-10-08 23:32:06
374
原创 uboot移植4-支持DM9000网卡
如上图,打印是CS8900网卡,而我们的板子是DM9000,需要进行移植。1、查看drivers/net/makefile可知uboot已经支持DM9000,按照CS8900配置宏CONFIG_DRIVER_DM9000修改include/confis/s3c2440.h(参考其他使用DM9000的文件添加宏)根据上图和数据手册,修改include/confis/s3c...
2019-10-07 22:11:44
206
原创 uboot移植3-nandflash启动
修改UBOOT支持NAND FLASH 1、把drivers\mtd\nand\s3c2410_nand.c复制为s3c2440_nand.c在之前移植uboot时去掉了#define CONFIG_CMD_NAND,现在需要打开。修改:include/configs/smdk2440.h: #define CONFIG_CMD_NAND编译查看是否编译通过。...
2019-10-06 21:40:43
559
原创 uboot移植2-从nandflash启动重定位代码
上一节完成时钟和串口的修改,下面进行nandflash的启动。本节介绍如何从nandflash启动并从nandflash重定位到SDRAM1、原来的代码在链接时加了"-pie"选项, 使得u-boot.bin里多了"*(.rel*)", "*(.dynsym)",使得程序非常大,不利于从NAND启动(重定位之前的启动代码应该少于4K)1.1、去掉 "-pie"选项 arch...
2019-10-05 23:11:21
342
原创 uboot移植1-新建单板,时钟和串口的修改
目标:串口成功打印信息。前提条件:1、uboot版本:u-boot-2012.04.01.tar.bz2;2、交叉编译器:arm-linux-gcc-4.3.2.tar(如何更换交叉编译器参考https://blog.youkuaiyun.com/WangHuiShou/article/details/102092801)3、部署uboot(代码利用官方的) 1.解压源码 tar ...
2019-10-05 16:18:19
551
原创 更换交叉编译器arm-linux-gcc
下载需要更换的交叉编译器,次吃使用的是arm-linux-gcc-4.3.2.tar1、将arm-linux-gcc-4.3.2.tar拷贝到虚拟机下 cp /mnt/hgfs/work/arm-linux-gcc-4.3.2.tar.bz2 /work/tools2、解压到根目录下 sudo tar xjf arm-linux-gcc-4.3.2.t...
2019-10-04 20:50:05
1281
转载 Linux之输入子系统分析(详解)
其中驱动框架如下:1)写file_operations结构体的成员函数: .open()、.read()、.write()2)在入口函数里通过register_chrdev()创建驱动名,生成主设备号,赋入file_operations结构体3)在出口函数里通过unregister_chrdev() 卸载驱动若有多个不同的驱动程序时,应用程序就要打开多个不同的驱动设备,由于是...
2019-07-24 23:49:01
465
原创 am335x pll
由上图可知:CLKINP = 24MHzREFCLK = CLKINP/(N+1)fDPLL = CLKDCOLDO = 2 * [M / (N+1)] * CLKINPCLKDCOLDO: Oscillator (DCO) output clock with no bypassCLKOUT = [M / (N+1)] * CLKINP * [1/M2] = CLKDCOL...
2018-12-21 13:20:48
519
原创 QT窗口设置
隐藏窗口标题栏: this->setWindowFlags(Qt::FramelessWindowHint);设置窗口属性: this->setAttribute(Qt::WA_TranslucentBackground,true); //透明 this->setAttribute(Qt::WA_ShowWithoutActivating,true);...
2018-10-31 16:01:45
425
转载 #define宏定义中的#,##,@#,\ ,__VA_ARGS__这些符号的神奇用法
C/C++ 宏命令的神奇用法。先看下面三条语句:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,merge two tokens into one while expanding ma...
2018-08-13 19:36:13
508
原创 Linux下定时器的使用(alarm,timer_create)
1、alarm 如果不要求很精确的话,用alarm()和signal()就够了。 unsigned int alarm(unsigned int seconds) 函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送信号SIGALRM给目前的进程。如果参数seconds为0,则之前设置的闹钟会被取消,并将剩下的时间返回,alarm只触发一次...
2018-08-13 19:17:20
1645
转载 【OpenCV3图像处理】OpenCV3源代码目录解析(算法模块解析 和 示例目录解析)
转载于:https://blog.youkuaiyun.com/u011574296/article/details/69421922OpenCV3源代码文件夹sources: • 3rdparty: 包含第三方库,如用视频解码用的 ffmpeg、jpg、png、tiff 等图片的解码库。• apps: 包含进行 Haar 分类器训练的工具,OpenCV 进行人脸检测便是基于 Haa...
2018-07-30 16:52:38
506
原创 CascadeClassifier级联分类器的使用
CascadeClassifier检测的基本原理:参考:https://blog.youkuaiyun.com/qq_37791134/article/details/80583726级联分类器类的检测框架简而言之就是一个多尺度缩放+滑动窗口遍历搜索的框架。在CascadeClassifier中包含detectMultiScale和detectSingleScale成员函数,分别对应多尺度和单尺度检测...
2018-07-25 14:05:26
7310
原创 opencv 分类器的训练(生成.xml, CascadeClassifier)
检测的物体是否为绝对刚性的物体,也就是检测的目标是一个固定物体,没有变化(如特定公司的商标),这样的物体只要提供一份样本就可以进行训练。但绝大数时候我们想进行训练的目标是非绝对刚性的物体,如对人的检测,包括人脸识别、手势识别。分类器的训练以分为以下三部进行:1、 样本的创建(正样本和负样本)2、 训练分类器(生成.xml)3、 利用训练好的分类器进行目标检测正样本:所谓正样本就是只...
2018-07-25 13:57:19
8297
1
转载 Qt 选择性编译和库裁减
减少Qt编译时间暨简单Qt裁剪 收藏编译一次Qt要耗费太多的时间,常常是越着急用它,编起来越慢。其实通过很简单的几招可以帮你节省编译的时间。下面就一一道来: 第一招,编译之前确定哪些功能是不必要的,对编译树进行简单裁剪。 比如最常见的,像demos, examples,虽然很有参考价值,但完全可以放在后面用到的时候再单独编译小工程,这样可以节省不少时间。经过实践,最简单的...
2018-06-07 15:10:27
1616
原创 配置QT4.8.6时 The tslib functionality test failed!
编译裁剪QT时,开始可以编译通过,加上一些配置时-no-xmlpatterns \ -no-multimedia \报错如下:The tslib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR and QMAKE_LI...
2018-06-05 16:55:14
683
原创 QT 窗体旋转(动态)
QT4.8下完成方法一、1、QT自带了支持旋转的gfxdriver插件“transformed”,通过编译src/plugins/gfxdrivers/transformed目录可以得到这个插件,编译QT库时加上-qt-gfx-linuxfb -qt-gfx-transformed。进一步在启动程序时设置环境变量可以指定QT载入这个插件:export qws_display=transformed...
2018-04-09 09:58:57
4537
原创 QT中文乱码
int main(int argc, char *argv[]){ QApplication a(argc, argv); /*set the codec for Chinese*/ QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QTextCodec::setC
2017-11-30 10:23:59
246
原创 QT国际化(中英文转换,动态)
Qt本身提供的linguist工具,用来实现翻译过程十分方便:(本文以实现中英文转化为例,可实现其他语言)1、在QT工程文件*.pro中添加:CODECFORTR = utf-8(防止翻译文件乱码)和TRANSLATIONS += *.ts,扩展名为.ts是翻译的源文件。比如中命名为language_zh.ts, zh表示简体中文。2、使用linguist工具提取翻译源文件:选择QT的...
2017-11-30 10:17:47
1289
原创 linux内核的配置编译
内核代码:helloworld.c静态编译:将helloworld.c和zImage编译在一起动态编译,模块化编译:将helloworld.c和zImage分开编译,将helloworld.c编译成对应的二进制文件,默认以ko结尾,例如helloworld.ko内核编译借助Kconfig和Makefile,Kconfig和Makefile的选择关键看helloworld.c放置在哪个目录下,例如将...
2017-04-05 15:01:07
393
QT选择性深度裁剪,图文解析
2018-10-09
qt帮助文档 qt-help
2018-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人