自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

转载 EVT、DVT、PVT是什么意思

前几天开会,客户说了几个名词,啥EVB,EVT,DVT,愣是不懂,事后自己网上搜索了下,在此稍作整理,记录备忘。BVT是Build Verification Test,基本验证测试,对完成的代码进行编译和连接,产生一个构造,以检查程序的主要功能是否会像预期一样进行工作。DVT是Design Verification Test的简称,设计验证测试,是硬件生产中不可缺少的一个...

2019-07-23 17:22:41 14668

原创 android7.0 C开发环境搭建+开发流程

一、环境搭建 VMware+ubantu+android7.0 1、安装VMware虚拟机。 2、安装ubantu,下载android7.0到ubantu的目录N08735B_git/alps。 3、搭建“MTK编译服务器”,见https://download.csdn.net/download/weixin_40779546/10713235。 4、创建VMware虚拟机共享...

2019-03-04 17:37:49 628

原创 Linux/Android系统开发 c/c++代码加载so库的方法

        在linux/android开发时,我们经常会遇到第三方的so库,如何加载这些so库呢,下面以helloworld的简单例程进行详细讲解,为了方便移植和管理,所有涉及加载实现相关的代码都放在so.cpp和so.h模块,实现代码如下:so.cpp//so.cpp//// Created by taxiang&xuezi on 2019-02-27.//...

2019-02-27 10:51:25 939

原创 Beyond Compare许可证密钥已被撤销的解决方案

今天打开电脑发现Beyond Compare不能使用了,提示如下:解决方案:1、打开目录C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyond Compare 3,将该目录下的文件全部删除。2、回到桌面,双击Beyond Compare 3图标。3、出现如下界面,然后持续点击“下一个”选项。4...

2019-01-15 13:36:31 12183 1

原创 Android Studio NDK开发案例二 JNI包含多个cpp文件

        上一章节我们学会了如何使用Android Studio开发JNI,但是上一章节针对的是单个cpp文件,我们做项目开发时肯定不止一个cpp文件,假如这些cpp文件能够放在一个单独的文件夹下面肯定会更方便我们的操作,但是这些该如何实现呢?其实我们只需要修改CMakeLists.txt及重新定向CMakeLists.txt的路径就可以实现。该案例在上一章节创建的工程案例中改动实现,上...

2018-12-06 16:26:38 3755

转载 CMake 入门实战

什么是 CMake All problems in computer science can be solved by another level of indirection.David Wheeler 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 M...

2018-12-05 11:02:38 342

原创 Android Studio NDK开发案例一 JNI开发入门

        最近在做Android的项目,用到了JNI,现将NDK的开发流程和方法整理出来,希望能够让刚接触的小伙伴们少走一些弯路。NDK        Native Development Kit(NDK)是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C/C++的动态库,并能自动将so和java一起打包成apk。JNI        Java Native In...

2018-12-04 19:32:16 3032

原创 Android系统刷机报错:ERROR:S_FT_DOWNLOAD_FAIL(4008)

Android系统刷机时报如下错误:问题原因:USB供电不足。解决办法:换一个USB插口试一下,如果是主机最好用后面的插口,刷机时尽量不要连接其它USB供电设备。...

2018-11-20 09:43:41 3053 1

原创 3导联戴机位置

2018-11-15 15:05:37 338

转载 ECG信号读出,检测QRS,P,T 波(小波去噪,并根据检测),基于BP辨识的神经网络

这学期的课程选择神经网络。最后的作业处理ECG信号,并利用神经网络识别。1  ECG引进和阅读ECG信号1)ECG介绍详细ECG背景应用就不介绍了,大家能够參考百度 谷歌。仅仅是简单说下ECG的结构: 一个完整周期的ECG信号有 QRS P T 波组成,不同的人相应不用的波形,同一个人在不同的阶段波形也不同。我们须要依据各个波形的特点,提取出相应的特征,对不同的人进行身份识...

2018-11-15 15:02:48 11510 15

转载 MIT-BIH ECG 心电数据的下载和读取图解

一、如何下载获取MIT-BIH的数据从下面这个官方链接页面可以下载到所有48组MIT-BIH心电数据:http://www.physionet.org/physiobank/database/mitdb/     下面这个链接是MIT-BIH数据库的详细说明和使用指南,英文好的同学不妨仔细阅读:http://www.physionet.org/physiobank/databas...

2018-11-15 14:17:51 6711

原创 C学习笔记 传递数组给函数和从函数返回数组

传递数组给函数如果您想要在函数中传递一个一维数组作为参数,您必须以下面三种方式来声明函数形式参数,这三种声明方式的结果是一样的,因为每种方式都会告诉编译器将要接收一个整型指针。同样地,您也可以传递一个多维数组作为形式参数。方式1 形参是一个指针:void my_function(int *array){}方式2 形参是一个已经定义大小的数组void my_functi...

2018-11-14 14:33:49 387

原创 C学习笔记 获取最大值最小值方法总结

获取两个数中的最大值:#define max(x,y) (x)>(y)?(x):(y)获取两个数中的最小值:#define min(x,y) (x)<(y)?(x):(y)获取一组数据集合中的最大值:char get_max_value(void){ char data_array[n] = {a1,a2,......,an}; char m...

2018-11-12 10:26:00 1509

转载 Linux/Android系统开发 进程间通信 --- 信号通信

        信号  ( signal ) 机制是 UNIX 系统中最为古老的进程间通信机制,很多条件可以产生一个信号.信号的产生:        1,当用户按下某些按键时,产生信号.        2,硬件异常产生信号:除数为 0 ,无效的存储访问等等.这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个 SIGSEG...

2018-11-08 13:48:56 454

原创 Linux/Android系统开发 常用Linux/Android命令

adb push D:\helloworld\helloworld.txt /mnt/sdcard/:推送文件helloworld.txt到机器的目录/mnt/sdcard/adb pull /data/tmp D:\tmp:拷贝设备中的/data/tmp内容到PC机的D:\tmpadb root:adb使用root权限adb shell :进入设备rm -r filename:删...

2018-10-31 09:58:13 396

原创 Linux/Android系统开发 如何用命令执行int main(int argc,char*argv[])程序

int main(int argc,char*argv[])带参数的main函数的执行指令如下:./appname 参数1 参数2 .....注意:参数间要加空格。 int main(void)无参数的main函数的执行指令如下:./appname ...

2018-10-30 17:47:35 402

原创 Linux/Android系统开发 利用addr2line工具定位错误

Windows系统+Android环境:        在Android真机开发时经常遇到crash错误,现crash_log中的内容如下:----- timezone:GMT10-26 10:32:19.299460 2022 12829 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xb657f754 in ...

2018-10-26 17:10:31 1270

原创 心率速算方法

    

2018-10-24 16:37:32 978

原创 大小端模式详解

大端模式:数据的高位保存在低地址,数据的低位保存在高地址。例如,数据0x12345678大端的存储模式如下 地址                     数据0x00000001        0x120x00000002        0x340x00000003        0x560x00000004        0x78 小端模式:数据的高位保存在高地址...

2018-10-23 13:27:47 1018

原创 STM32 Keil新建工程报错“Error: L6200E: ”

       在STM32CubeMX软件版本更新后,编译先前版本上创建的keil工程文件时经常遇到错误“Error: L6200E: ”,现象如下图:解决办法:       通过报错信息可以看到是system_stm32l0xx.c里面重复定义了某个函数,在“Project”窗口下的“Drivers/CMSIS”下找到system_stm32l0xx.c,发现有两个system_st...

2018-10-19 11:12:03 9155 2

原创 python 实现linux串口收发数据源码

使用python实现在linux平台收发串口数据,源码如下:uart.py#!/usr/bin/pythonimport serial,time,threadser=serial.Serial('/dev/ttyS1', timeout=1)print ser.portstrdef recv_func(sec):    global ser    print 'recv'...

2018-10-11 14:24:53 6161

原创 STM32 boot0和boot1

 正常的默认启动方式是boot0=0,boot1=x;实现bootloader的启动模式是boot0=1,boot1=0,bootloader程序可使用stm32自带或者自己创建,自己创建的方法及源码有需要的可以私密我;boot0=1,boot1=1从内存启动,数据掉电丢失,仅做调试及其它使用;有些型号的芯片未外接boot1管脚,对于这种情况可忽略boot1,按照模式参照表仅配...

2018-10-11 14:17:36 2114

原创 MTK管脚adb操作指令

1、cd/sys/bus/spi/drivers/test_spi/spix.1   echo -w com_mod=1 > spi   echo -w len=8  > spi_msg  2、命令输出查看pin脚设置Mode是否正确   cat  /sys/devices/virtual/misc/mtgpio/pin   ...

2018-10-11 13:27:41 636

原创 MTK日志adb指令开启和关闭方法

 adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name start --ei cmd_target 1//打开mtk日志adb shell am broadcast -a com.mediatek.mtklogger.ADB_CMD -e cmd_name stop --ei cmd_target 1//关闭...

2018-09-29 17:13:35 2882

原创 STM32 清除Keil工程无用的编译文件脚本

        编译Keil工程时会生成很多编译文件,在备份程序时如果将编译文件一起备份会浪费M级别的存储空间,当随着程序版本的增多,占用的存储空间会很大,如果将这些无用的编译文件删除,再备份程序,会将存储空间缩小到K级别。 实现方法:通过编写bat脚本删除无用的编译文件。 脚本实现:1.创建一个.bat属性的文件,起名“清理keil无用文件”。2.打开创建的.bat属性文...

2018-09-29 17:08:04 5831

原创 STM32 Keil新建工程报错“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”

        在使用STM32L0xx系列和STM32L4xx系列的单片机时都遇到了打开keil工程报“Loading PDSC Debug Description Failed for STMicroelectronics STM32Lxxxxxxx”错误的问题,具体现象和解决方法如下图文所示:        找到keil的Build Output窗口提示的File路径,找到Keil.ST...

2018-08-22 13:12:23 82948 73

原创 STM32 状态机实现按键消抖处理源码

key.h#ifndef __KEY_H__#define __KEY_H__#include "stm32f10x.h"#ifdef KEY_GLOBALS#define KEY_EXT#else#define KEY_EXT extern#endif//IO定义#define     down()          GPIO_ReadInputDataBit(GP...

2018-08-17 13:55:45 3375

原创 crc校验源码

crc校验C/C++实现,源码如下:const unsigned short crc_table[256]={0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,0x1231, 0x0210...

2018-08-17 13:18:20 1202

原创 STM32 用__DATE__和__TIME__获取keil工程编译时间,关联软件版本信息

keil项目开发时,刚入门的童鞋们一定遇到过手动更改软件版本号的繁琐操作,有没有一种只要自己重新编译工程后软件版本号就会随着编译时间自动更新的方法呢?很高兴的告诉你,还真有!而且特别简单  ^_^在你的keil工程文件中任选一个.c文件,此处用common.c做示例,源代码如下:common.h#ifndef  __COMMON_H#define  __COMMON_H#ifde...

2018-08-17 10:59:41 8213

原创 STM32 GPIO模拟SPI源码

用GPIO模拟实现SPI通信,已在STM32平台验证通过,适用于各种MCU平台,源代码如下:spi.h#ifndef __SPI_H#define __SPI_H#include "stm32l0xx.h"#ifdef  SPI_GLOBALS#define SPI_EXT  #else#define SPI_EXT  extern#endif#define M_CS_...

2018-08-17 10:18:00 13999 6

原创 STM32 JLINK接口定义 JTAG/SWD

2018-08-16 14:37:50 8748

原创 Linux/Android系统开发 串口驱动源码,FIFO模式

该驱动适用于采用linux和android系统平台的C/C++串口开发。FIFO发送模式:创建数据发送FIFO队列,在多任务数据发送情境下,既能保证数据发送任务能够得到执行,又可解决数据发送冲突问题。select接收数据:有效监听串口接收数据,提高执行效率,减少出错概率。 串口参数配置驱动,参考:https://blog.csdn.net/weixin_40779546/artic...

2018-08-16 14:17:56 898

原创 定义平台无关的数据类型,方便移植 C/C++开发

当我们在做跨平台的项目时,很可能会遇到数据类型有变化的情况,假如你的原工程代码中变量采用的都是如int、char等这样的定义会增加代码移植的工作量,而且修改时很容易遗漏出错,如果我们利用typedef对标准的数据类型重新定义别名,则在跨平台移植时我们只需要把有变动的标准数据类型更换即可,这样操作简单、不易出错。//// Created by taxiang&xuezi on...

2018-08-15 14:51:46 1168

原创 Linux/Android系统开发 串口参数配置源码 serial.c/serial.cpp

该驱动适用于采用linux和android系统平台的C/C++开发。用于配置串口相关参数:端口选择、阻塞非阻塞、波特率、停止位、数据位、校验位等。注:需要系统开启串口操作权限,否则配置失败。本驱动在MTK8735平台上验证测试,其它平台修改串口端口名称即可。源代码:serial.h//// Created by taxiang&xuezi on 2018/4/2...

2018-08-15 14:34:41 1433

原创 Linux/Android系统开发 日志驱动源码, 格式化输入

该驱动适用于采用linux和android系统平台的C/C++开发。格式化的日志字符串输入参数,日志时间精确到毫秒。使用示例:int var1 = 7;  int var2 = 1;  log("android %d.%d",var1,var2); 执行上述代码,会在当前文件目录下生成log.txt日志文件,并记录日...

2018-08-15 09:43:40 466

原创 Linux/Android系统开发 用select监听串口数据源码

select详解见https://baike.baidu.com/item/select%28%29/10082180?fr=aladdinselect()监听串口端口接收数据,可提高程序效率,降低功耗,并可避免非阻塞模式下直接read()大量数据时造成的端口卡死问题。#define PACKETSIZE 512fd_set rfds;int g_uart_fd;struct t...

2018-08-06 10:56:52 1598

原创 Linux/Android系统开发 控制GPIO管脚输出高低电平源码

adb指令实现:adb rootadb remountadb shellecho -wdout 5 0 > /sys/class/misc/mtgpio/pin echo -wdout 5 1 > /sys/class/misc/mtgpio/pinC程序实现:此方法适用于linux内核的系统,测试平台MTK8735。输入参数:port ---> GPI...

2018-08-06 09:49:44 3036

转载 git教程

Git教程 - 廖雪峰的官方网站  https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2018-08-02 15:35:30 180

转载 Git-TortoiseGit完整配置流程

 每次使用Git的时候都或多或少遇到些问题,为了方便以后少踩一些坑,把自己踩过的坑记录一下,加深对Git使用的理解,所以写下这篇日记记录一下。  本文需要频繁使用cmd,如果使用系统的cmd会稍微有点不便  所以这里先推荐一款Windows平台上面个人觉得比较好用的一款cmd工具ConEmu  ConEmu下载地址:http://www.fosshub.com/ConEmu.html...

2018-08-02 15:33:30 468

转载 android 设备写入文件,立即断电重启后,文件丢失

 在android开发的过程中碰到写入文件后,立即断电重启,发现写入的文件丢失了写入时检查了,写入是没有失败的,经过查找资料可能是如下问题引起:  Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。 可能是因为断电时,文件没有写入的物理介质中导致,解决办法如下:       在write/fwrite写...

2018-07-13 10:35:43 917

MTK编译服务器

在mtk平台上搭建android开发环境时,编译服务器的搭建方法。

2018-10-11

空空如也

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

TA关注的人

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