- 博客(27)
- 收藏
- 关注
原创 C/C++ 指针数组与数组指针、函数指针与指针函数、模板函数与函数模板、类模板与模板类区别
函数模板与模板函数、模板类与类模板区别:在C++中有好几个这样的术语很重要:函数指针——指针函数数组指针——指针数组类模板——模板类函数模板——模板函数 1.函数指针——指针函数 函数指针的重点是指针。表示的是一个指针,它指向的是一个函数,例子: int (*pf)(); 指针函数的重点是函数。表示的是一个函数,它的返回值是指针。例子:
2018-03-04 12:06:20
927
原创 Ubuntu/Linux 下配置OpenCV 3.3 开发环境,搭建IDE CLion/QT Creater 5.0
近两年AI人工智能如爆炸般狂飙突进,AI的三大核心:算法+数据+硬件(GPU)。综合考虑性价比(昨天谷歌上线了云端TPU,价格好像是6美刀左右一小时),在嵌入式方向,硬件上现阶段NVIDIA的GPU应该是一骑绝尘吧,而且老黄已将降AI作为支柱业务一样发展,AI的开发生态就数他家了。单位正在用Jetson TX1 开发板搞高性能HPC计算平台,正好可以搞搞算法。一、硬件开发环境:嵌入式Jetso
2018-02-14 18:47:30
6871
2
转载 自旋锁spin_lock & mutex_lock的区别?
本文由该问题引入到内核锁的讨论,归纳如下为什么需要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是可以访问所有内核数据的,因此要对共享数据进行保护,即互斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v加1原子操作比普通操作效率要低,
2017-12-26 21:01:49
1609
原创 ARM+FPGA如何入门,如何学习入门嵌入式
这两年由于学习和工作的见识,经常见到网上有人问如何入门嵌入式行业,而底下回复大多回答说买个开发板,按照实验例程学一学就能入门。我曾经也买过板子学习过,说实话,效果很一般。而且发现了这种学习方式有一种非常普遍而严重的弊端:导致初学者认为,嵌入式开发就是软件开发,就是复制粘贴。因为那些卖开发板的,大多数只是讲了讲如何烧录程序、解释一下实验步骤与现象,然后就完了。。。导致初学者入门时只会烧录程序,复
2017-10-14 14:16:55
3914
原创 MSP430F5438A 指令周期 和 时钟周期
MSP430的一个时钟周期 = 晶振的倒数。如果晶振是8M,则一个时钟周期为1/8微秒;一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期 = 1~6个机器周期;也就是说执行一条指令最多花6*1/8微秒。另外,_NOP()是单周期的指令,I/O口赋值是4周期的。
2017-03-07 14:33:15
1556
原创 msp430F5438A 定时器
最好少用几个定时器,用多了,相互干扰。很难查出bug。比如TA0要产生固定个数的脉冲,如果此时还有TB0工作,而且中断中有执行时间长的任务,那TA0在初始化后就开始产生pwm波了,等到再进中断函数时已经产生了很多波形。因此要尽量减少多余定时器。
2017-03-07 12:43:52
1328
原创 MSP430单片机写Info Memory
MSP430F5438A单片机在写Info Memory时,需要先把整页数据擦除,才能写进去。否则写失败。而且还得设置下载程序时不要擦除 Info memory, 否则存储数据失败。因为没此下载时都给你擦除了。
2017-03-03 15:43:36
1342
原创 学习方法的感悟
最近学习托福很没有效率,一直在总结原因,现在简单说说吧。1、项目多 托福考查听说读写四项,这四项各自分立有相互渗透。复习起来需要各个击破,一旦任务数量增多,切换起来也是耗费精力。2、听力和阅读是核心 这两项技能是我的弱项,现在补起来很难。没法,只能硬着头皮搞了3、由于成绩差,不愿学习,因而更差 我终于能体会到学渣上考场的心情了,也明白了为啥会厌学。
2017-02-04 09:58:50
787
2
原创 开发者入门必读:最值得看的十大机器学习公开课
假期整理http://weibo.com/ttarticle/p/show?id=2309351000224063530780342226
2017-01-13 20:23:42
369
原创 C/C++ 数组参数传递后,还能计算长度吗?
/* C/C++ 传递数组,虽然传递的是首地址地址,但是参数到了函数内 就成了普通指针,不再是数组首地址了,所以试图在别的函数中得到 传递数组的长度是行不通的。 只能先计算好长度后再传过去,进行其他的运算。 */ void getArrLen(int a[]) // void getArrLen(int *a) 没区别,a都是个普通指针,不能自动识
2017-01-12 16:20:29
8189
1
原创 MSP430F5438A 读写Flash
1、IAR选项中有个 Date Model选项,其中 small 和large 中,指针的大小是2字节,因此访问地址最大是64K;要选择 large,指针是4K,能访问最大为4G的地址。由于code Flash 大小超过了64K,因此必须选择 large 选项。
2017-01-11 14:07:13
1022
原创 MSP430 大型数组 上电不启动
现象:程序烧录板子后,单片机不启动,卡死。注释掉部分字节数组后,才能运行。分析: 这是IAR编译的方法,导致看门狗溢出了。MSP430单片机一上电看门狗就已经启动,但是在进入main()函数之前,软件会先初始化用到的一些数据,比如数组。如果数定义的比较大,初始化时间比较长,那就有可能导致看门狗溢出了,单片机复位,然后重启,再初始化,再溢出,再复位..程序永远也进不
2017-01-09 14:10:37
1326
原创 MSP430F5438A 内存Flash 读写操作
1、msp430的存储结构采用冯.依曼结构,即RAM和Flash在同一个寻址空间内统一编址,没有代码空间和数据空间之分。2、Flash是以段为为基本结构进行存储的。总体上分三部分: Flash主存储区: 用于存储程序代码,被分成4个扇区,每个扇区分128seg, 每个seg段 大小为 64 * 1024 / 128 = 512B。 Flash控制器可以以位、
2017-01-06 15:23:12
4260
原创 经济学通识 (第二版) 薛兆丰
第一章1、管制的愿望和结果公用品:大家都可以用,如书,电影私用品:我用了你就不能用的,只能一个人用。如录取名额治理交通拥堵的最有效办法就是拥堵道路收费,通过收费筛选出最需要该段交通的司机。而不是提高燃油费这种没有效果的办法。类比,牛肉供货紧俏了,价格就应该上涨,而不是讨论社会主义应该让更多人吃上肉这种没有意义事。要让价格杠杆调节供需平衡。
2017-01-05 21:06:20
9904
原创 板子上电烧程序时的注意事项
1、如果板子有功耗原件,如三极管、mos管等,连接着电机,最好不要连着电机时用JTAG烧程序,因为程序烧录时不稳定,三极管瞬时开关造成大电流会击穿三极管。应该拔下电机插头,让板子不带负载时,再程序烧录。
2016-12-20 11:21:28
3005
原创 SN74LVC2G06用法
1、SN74LVC2G06用法: 输入:0V 输出:高阻态,即不确定电平是多少。因为是开漏的,所以需要根据外部电压确定此电压。 输入:3.3V 输出:低电平,电流流进去,相当于接地了。2、SN74LVC2G07用法和06相似,有待总结。
2016-12-13 16:46:36
3823
原创 MSP430F5438A中断系统
1、MSP430F5438A有三个定时器: TA0、TA1 和 TB0。2、CCR0单独用一个中断向量,且优先级最高。其他CCR1--CCR5用公用一个中断向量。33、中断向量:#define TIMER1_A1_VECTOR (48 * 2u) /* 0xFFE0 Timer1_A3 CCR1-2, TA1 */ #define TIMER1_A0_VECTOR (4
2016-12-09 22:37:05
2460
原创 时序逻辑和组合逻辑的RTL的对照表
1、Verilog是硬件描述语言,写Verilog时需要知道对应的电路图是啥,是导线还是触发器等,可以通过RTL图观看,下面是几个常见的对应图:
2016-12-05 10:14:21
1935
原创 FPGA的IP核之FIFO
1、什么是FIFO、用途? FIFO就是先进先出队列,一般用于不同时钟之间的数据传输,比如FIFO的一端是采样速率比较慢的接口,假设采样速率是1MHz,另一个是采样快的接口,速率是100MHz。如果直接将这两个接口相连,那会出现很多问题。所以此时可以在这两个不同的时钟域间采用FIFO来作为数据缓冲。 另外,对于不同宽度的数据接口也可以用FIFO,比如一端接口输出数据是8
2016-12-03 11:20:30
6534
原创 时序逻辑和组合逻辑的区别
暂时想到这么多,以后再补充!1、简单说,组合逻辑只跟当前的状态有关系,例如一根导线 + 逻辑门的组合,输出取决于当前时刻的输入,考虑门延时的话另说。2、时序逻辑的状态跟之前状态、边沿信号有关,边沿信号没来之前,输出保持之前的输入;边沿信号来时,输出状态跟随输入信号变化。组合逻辑:always@(敏感信号)或者always@(*),组合逻辑相当于组合电路,与或非门组成的电
2016-12-01 10:37:03
19293
原创 Verilog中 reg和wire 用法和区别以及always和assign的区别
1、从仿真角度来说,HDL语言面对的是编译器如modelsim,相当于使用软件思路,此时: wire对应于连续赋值,如assign; reg对应于过程赋值,如always,initial;2、从综合角度,HDL语言面对的是综合器,相当于从电路角度来思考,此时: wire型变量综合出来一般情况下是一根导线。 reg变量在always中有两种情况
2016-11-30 17:17:49
123037
29
原创 NPN和PNP三极管基本概念
1、正向偏置:P区接正极,N区接负极。即Vp > Vn 2、反向偏置:N区接正极,P区接负极。即Vn >Vp3、三极管导通条件:发射结正偏,集电结反偏。NPN和PNP都遵循这个原理。4、辨识技巧:NPN和PNP箭头可以当成二极管来看,二极管电压正偏导通则三极管即为导通。5、
2016-11-21 16:56:07
2598
原创 FPGA和CPLD对比与入门
入门介绍:1、EMP240使用很广泛了,8元一片。EMP240顾名思义具有240个宏单元,或者说240个触发器,或者理解成240个bit的存储单元。2、仿真分2步,写逻辑时用QUARTUS自带的仿真;逻辑写完后,最好用model sim专门仿真。3、如果你需要100个逻辑单元,实际用的可能是120个,因此要留出20%的余量。4、一个小技巧,针对EPM240和570来说,常用的封装T
2016-10-26 14:18:08
5945
原创 逻辑思维-高手是怎样炼成的
高手有独特的学习方法,简单来说就是要形成认知闭环,比如学习一个知识点之后迅速进行配套练习,巩固并加深认知,使之形成自然习惯而不是需要思考,因为只要用到思考,那就说明还没熟到靠习惯就能搞定的程度。 贝尔实验室招聘有一规则,即别人问你的专业问题你必须能马上回答上来,使问题能得到迅速的反馈、校正。其实做其他事也类似,大局观不好掌握,那就先投石问路,迅速的通过输入得到输出,再根据输出判断具体情
2016-10-16 21:43:45
1414
转载 Android 插件化技术 加载任意未安装apk
转载 http://www.eoeandroid.com/thread-562805-1-1.html项目地址:https://github.com/houkx/android-pluginmgr/欢迎star andfork(一) 综述 随着智能手机硬件性能的逐步提升,移动应用也做的越来越复杂,android平台上应用的apk包体积也越来越大,然后同
2015-03-02 18:57:28
2094
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人