自动驾驶学习资料整理,纯干货 整体书籍公开课开源项目Apollo参考文献其他人整理合集taylorliu自动驾驶自动驾驶学习资料合集神经网络【中英字幕】吴恩达深度学习课程第四课 — 卷积神经网络动手学深度学习CUDA编程入门极简教程TensorRT(1)-介绍-使用-安装caffe(2)配置文件.prototxt的理解数学二次规划QP(Quadratic Programming) — 运筹学,Apollo轨迹规划算法中使用了。高斯分布 — 概率论,卡尔曼滤波器算法中使用了。感知综合目标检测
c++ vector为空,size() - 1后溢出,注意排坑 vector的size()函数返回的是一个无符号整数,当size() == 0,再减1,会导致溢出,从而使数据变大如代码:int main(){ vector<int> arr; cout<<arr.size()<<endl; // 输出 0 cout<<arr.size() - 1<<endl; // 输出 429496729}...
#最小嵌入式Linux系统#uboot启动分析 u-boot启动分析1.完成配置任务后,再一次make$(obj)u-boot: depend \ $(SUBDIR_TOOLS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds//start.o是第一个依赖文件,因此先分析start.sOBJS = $(CPUDIR)/start.o //...
#Makefile#Makefile过程分析 make的执行过程分为两个阶段。 第一阶段:读取所有的makefile文件(包括“MAKEFILES”变量指定的,指示符“include”指定的,以及命令行选项“-f”指定的makefile文件),内建所有的变量,明确规则和 隐含规则,并建立所有目标和依赖之间的依赖关系结构链表。 第二阶段:根据第一个阶段已经建立的依赖关系结构链表决定哪些目标需要更新,并使用对应的规则来重建这些目标。理解...
#pragma pack学习 最近调试网络的服务端程序,自己写了一个小客户端程序来测试,发现服务程序解包错误。经调试发现客户端的协议头大小和服务器端的协议头大小不一致。原因是服务器端加了#pragma pack(1),而客户端没加。之前没接触过这个编译宏,现在来认真学习之。首先google之~~,原来#pragma pack有几种形式,我所接触到的是#pragma pack(n),即变量以n字节对齐。 变量对齐在每个系统中是...
#MINI2440实现语音识别# (三)REST API访问和VAD端点检测 原文地址:http://blog.csdn.net/sinat_26551021/article/details/796028431.前言 本文主要是接#MINI2440实现语音识别# (一)整体概述和实现流程记录这篇文章继续讲。首先简单介绍下背景。前面三个阶段分别完成了嵌入式Linux最小系统移植、驱动UDA1341声卡、跑通讯飞Demo库,可以实现语音转文字,但是存在几点问题: ...
消息队列 mq_queue,报错: message too long 原因说明:原因很简单,要注意看LINUX man手册,man 3 mq_receive里明确说了,“The msg_len argument must be greater than or equal to the mq_msgsize attribute of the queue(see mq_getattr(3))”。同理,在man 3 mq_send时,msg_len必须小于或等于 mq...
Linux下常用压缩 解压命令和压缩比率对比 https://www.cnblogs.com/joshua317/p/6170839.htmlLinux下常用压缩 解压命令和压缩比率对比 常用的格式有: tar, tar.gz(tgz), tar.bz2,不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大。tar 只是打包动作,相当于归档处理,不做压缩;解压也一样,只是把归档文件释放出来。(1)打包归档格...
#MINI2440实现语音识别# (二)驱动声卡UDA1341遇到的问题和解决办法 原文地址:http://blog.csdn.net/sinat_26551021/article/details/794840421. 前言 写这篇的主要目的是为了对#MINI2440实现语音识别# (一)整体概述和实现流程记录中,在驱动UDA1341声卡过程中遇到的问题进行记录和阐述。这里不对Linux中ALSA架构的音频子系统进行详细阐述,具体参考以下几篇文章: MINI24...
#MINI2440实现语音识别# (一)整体概述和实现流程记录 原文地址:http://blog.csdn.net/sinat_26551021/article/details/794760561. 前言 2017年,随着以深度学习为代表的的人工智能火热,智能音箱也跟着着实火了一把,各大厂都陆续都推出自己的产品。本着对新事物、新技术的好奇心,是时候祭出自己吃灰的老古董了 —> MINI2440开发板。(截止目前,(2018.3.6)已经成功...
#嵌入式Linux最小系统移植# mini2440最小系统移植(uboot、kernel、rootfs)可用源码 版本信息:1.uboot版本:u-boot-2012.10.tar.bz22.kernel版本:linux-4.0.tar.gz3.busybox版本:busybox-1.26.0.tar.bz24.交叉编译工具:$ arm-linux-gcc -v gcc version 4.4.3 (ctng-1.6.1) 代码获取路径:1.uboot:...
#嵌入式Linux最小系统移植# 对uboot移植和裁剪的一点点个人思考和总结 思路:1.分析启动流程2.移植config文件(smdk440_config)3.移植包含控制条件编译宏的.h文件(configs/s3c2440.h)4.移植板级初始化.c文件(s3c2440.c)5.移植RAM初始化?DDR?6.移植NorFlash7.移植NandFlash8.uboot应该能启动了?//分析启动流程1.make xx_config2.在makefi...
#嵌入式Linux最小系统移植# mini2440内核4.0.8移植记录 /*移植内核Linux4.0.8*/1.机器码匹配(linux/arch/arm/tools/mach-types)# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number mini2440 MACH_MINI2440 MINI2440 ...
#嵌入式Linux最小系统移植# yaffs2根文件系统移植出错记录 busybox官网地址:https://busybox.net/本次移植采用的busybox版本:busybox-1.26.0.tar.bz2交叉编译工具链版本:$ arm-linux-gcc -v gcc version 4.4.3 (ctng-1.6.1) 1、busybox目录下make menuconfig2、给内核打上yaffs2补丁...
#嵌入式Linux最小系统移植# busybox分析和移植记录 //busybox/init.c1.init_main过程分析init_main parse_inittab(); file = fopen(INITTAB, "r"); //#define INITTAB "/etc/inittab" /* inittab file location */ new_in...
ARM架构下函数调用过程分析 1.被分析的C程序#include #include inttest1(int a1,int b1){ int c1; c1 = a1+b1; return c1;}inttest2(int a2,int a3){ int c1 = 0 ,c2; c2 = test1(a2,a3); return c1;}int
x86_64架构下函数调用过程分析 //被分析的C程序inttest1(int a1,int b1){ int c1; c1 = a1+b1; return c1;}inttest2(int a2,char b2){ int c2; c2 = test1(30,40); return c2;}int main(int argc,char **argv){
程序典型的存储空间安排图 一个C程序经过编译链接之后形成可执行文件,可执行文件即由一条条的汇编指令组成,其排布方式如图1所示。历史沿袭至今,C程序一直由以下几部分组成: 正文段:由CPU执行的机器指令组成。通常,正文段是可共享的,在存储器中也只有一个副本,另外,正文段通常是只读的,防止程序由于意外修改其指令。 初始化数据段:通常将此段称为数据段,它包含了程序中需要明确赋初值的变量。 未初始化数据段:在程序开始执行之
嵌入式Linux菜鸟学习之路 1.设备驱动的作用计算机系统由硬件、软件组成,而对于实际开发来说,硬、软件间耦合性应尽量低,即应用开发工程师不需关心 硬件,而硬件开发工程师无暇顾及软件。为了降低硬、软耦合性,产生了设备驱动工程师。 2.操作系统驱动设计架构在无操作系统时,硬件工程师可以自定义API供应用开发工程师使用;而使用操作系统后,需按操作系统定义的架构设计驱动,如此才能良好的嵌入内核中。对图1.1而言: 优点:驱动编写简单