自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白菜的专栏

纸上得来终觉浅 绝知此事要躬行

  • 博客(39)
  • 资源 (4)
  • 收藏
  • 关注

原创 使能nfs文件系统

一、 前言交叉编译之后,主机与开发板之间的文件拷贝方式有许多种,wget、scp、ftp、tftp等,我觉得最方便的一种应该是nfs,当然前提是需要网络的支持。二、client端开发板一般是作为nfs的client端,需要使能应用层和内核的相关套件。 1. 应用层 应用层需要mount命令,mount命令则是busybox的一个小程序,所以需要确认一下busybo

2018-01-10 13:51:07 450

原创 linux下的ssh的登录

常见登录命令 ssh user@ip或 ssh -p port user@ip每次都需要输入远程服务器的密码,比较繁琐,可以通过密钥来登录密钥登录首先是生成公钥和私钥,算法选择rsa ssh-keygen -t rsa保存的目录及文件名按照默认的,密码可以不输入直接按回车跳过 执行完会在~/.ssh目录下生成两个公私钥文件,其中 id_rsa 是密钥文件,不可公布在网上

2017-12-18 13:23:50 2479

原创 nrf51822与nrf24l01之间的无线通讯

nrf51822和nrf24l01同属于nordic公司下的产品,在射频方面能够做到兼容,但是开发过程中遇到一些问题,特此做个记录想要两者能够互相通讯,需要注意一下一些配置 1. 白化: nrf51822的射频为了提高抗干扰能力,加入白化功能,但是nrf24l01没有此功能,所以nrf51822端必须关闭(PCNF1.WHITEEN = 0),否则引起数据乱码。 2. 地址长度:地址长度两者都

2017-11-02 20:19:58 5914 1

原创 nrf51蓝牙未连接超时自动关机

问题硬件: nrf51822开发板 软件: MDK SDK: nRF5_SDK_12.3.0_d7731ad 工程是基于 nRF5_SDK_12.3.0_d7731ad\examples\ble_peripheral\ble_app_uart在开发nrf51822过程中,发送当大概3分钟未连接蓝牙后,就再也搜索不到该蓝牙,只能通过复位才能重新搜索到蓝牙,必现。原因在广播初始化中/**@b

2017-09-30 17:16:51 1191 1

原创 STM32L4xx下bootloader重设中断向量表的一个问题

问题开发bootloader中,在跳转到应用程序时,重设中断向量表static __asm void asmJump(unsigned int addr){ /* goto applicant */ LDR SP,[R0] ADD R0,#0x4 LDR R1,[R0] BX R1}static void stm32l431GotoApplicant(uns

2017-09-21 11:14:48 3088 1

原创 linux下将串口数据保存为文件

调试的时候,想要通过BeagleBone Black读取设备的串口打印数据并且保存成一个文件。 设备打印的是调试信息,里面夹带的ANSI颜色的转义码,所以要先将设备配置成raw模式 stty -F /dev/ttyO2 raw其中/dev/ttyO2为串口的设备,接着配置串口波特率 stty -F /dev/ttyO2 speed 115200然后就可以用cat来读取串口数据并保存为文

2017-09-08 16:42:21 9285

原创 MDK ARM中__weak关键字的使用

__weak函数用于定义变量或者函数,常见于定义函数,在MDK ARM链接时优先链接定义为非weak的函数或变量,如果找不到则再链接weak函数。具体用法为:file1.c__weak void weakFunction(void){ //do something return;}void someFunctionCall(void){ //do somet

2017-06-14 18:28:58 15882 2

原创 Banana Pi M2U系列之三:R40上电启动流程

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!上电上电复位后,PC指针指向0xFFFF0000位置,根据R40的用户手册,0xFFFF0000位置存放的是BROM代码,长度为

2017-06-01 17:26:49 2266 2

原创 Banana Pi M2U系列之二:Uboot编译

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!代码获取主线的Uboot已经支持全志的R40芯片并且支持Banana Pi M2U板子,所以我们可以clone一下主线的Uboot:git clo

2017-05-31 16:39:19 2673

原创 Banana Pi M2U系列之一:前言

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!前言有幸能够在爱板网上申请到一块Banana Pi M2U开发板,硬件配置挺好的,想着不能浪费这么好的板子,于是就想稍微了解一下这块板子。 Ba

2017-05-30 21:44:33 1492

原创 Beaglebone black开发板更新内核

有时需要修改BBB的内核/驱动源码,所以需要重新编译内核及驱动。编译内核编译内核可以参照这里。 按照上述步骤编译成功后,会在内核源码的kernel/arch/arm/boot目录下生成zImage内核文件。 编译模块后需要将编好的模块复制出来,在源码顶级目录执行 mkdir modules_install make modules_install INSTALL_MOD_PATH=mo

2017-04-01 16:35:10 2495

原创 STM32L431之SPI从模式使用DMA时数据偏移3个字节

环境:将SPI3配置成从模式,并且使用DMA来传输数据,在初始化完SPI3后,就立即配置DMA,将待传输的数据准备好。主机还未读取时,就重新更新数据,更新数据的方法为直接调用Spi3TxDmaStartstatic void Spi3TxDmaStart(void * buf,unsigned int len,int enableInterrupt){ DMA2_Channel2->CC

2017-03-29 15:52:57 5193

原创 STM32L431之SPI时钟过高导致无法通信

现象:SPI的clock为2Mhz时通信正常,如果是4Mhz甚至更高则无法通信。卡死在 while (0 == (SPI1->SR & SPI_SR_TXE));通过逻辑分析仪查看时钟时发现写数据时只出现4个时钟脉冲,后续一直为高。 如果查看SPI时钟频率2Mhz时的时钟如下图所示 可以发现第一个时钟的占空比还算正常,后续的占空比逐渐增加,到第八个时钟时已经达到88%。原因原理图上,S

2017-03-23 15:53:34 3730 1

原创 STM32L431之SPI时钟翻倍问题

简单地将SPI配置成8位数据长度模式 /* configure SPI1 */ SPI1->CR2 = 0x1704; SPI1->CR1 = 0x15C;读写方式 GPIOA->BSRR |= 1 << 20; //set NSS low for(i = 0;i < command_size;i++) { while (0 == (SPI1->S

2017-03-13 10:15:51 1774

原创 Debian 8下google-chrome的adobe flash player out of date问题

原因是adobe flash插件没有更新到最新,更新方法也十分简单。 1. 要有梯子,翻墙方法就不介绍了。 2. 在谷歌浏览器中打开chrome://settings/ 3. 页面中有一个Adobe Flash Player,点击Check for update即可

2017-03-12 16:44:58 567

原创 STM32L431之MDK-ARM单步调试错乱

芯片默认使用MSI,频率只有4M,现在需要改成最大时钟80M。一个简单的程序如下:void SystemClock_Init(void){ /* enable HSE */ RCC->CR |= 0x00010000U; while (0 == (RCC->CR & 0x00020000U)); /* configure PLL */ RCC->PLLCFGR =

2017-03-09 15:36:25 2907

原创 飞思卡尔KL17之LPTMR0的若干错误

想要用LPTMR0做一个ms级别的系统基准时钟,想法是: LPTMR0时钟源为1000HZ,LPTMR0->CMR为1000,这样子每隔1S中断一次,在每次中断中SystemTickSecond++; 获取系统时钟的方法就是SystemTickSecond + LPTMR0->CNR问题1:访问LPTMR0->CNR时硬件错误,毕现。原因:LPTMR0未初始化,未使能。在访问该寄存器前必

2017-03-09 10:20:06 1318

原创 fatal error: linux/compiler-gcc6.h: No such file or directory

在交叉编译i.MX6UL的Kernel代码时出现这个错误 CHK include/config/kernel.release Using .. as source for kernel GEN ./Makefile CHK include/generated/uapi/linux/version.h CHK include/

2017-03-04 16:18:51 9743 3

原创 SecureCRT中ssh远程登录Linux设置

中文乱码中文乱码是远程和本地系统的字符编码格式不对,远程Linux系统如果没有改变的话,一般是UTF-8格式,本地的SecureCRT字符编码格式在 选项 -> 会话选项 -> 外观 下 将字符编码格式修改成与远程一致,就不会乱码。Tab无法补全,退格键无法使用Linux创建用户时如果没有指定shell的话,默认是使用sh,sh功能十分简单,如果使用sh作为shell,你会发

2016-10-19 10:09:16 2442

原创 i.mx6soloX开发 之 总结一

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列基于官方的i.MX6soloX sabresd开发板,只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!Uboot详细步骤见: i.mx6soloX开发 之 Uboot Kernel详细步骤见:

2016-09-04 11:50:01 3232

原创 i.mx6soloX开发 之 文件系统

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列基于官方的i.MX6soloX sabresd开发板,只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!Buildrootyocto系统里编译出来的镜像里已包含Uboot、Kernel和文件系统,

2016-09-03 12:04:39 1397

原创 i.mx6soloX开发 之 Kernel

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列基于官方的i.MX6soloX sabresd开发板,只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!代码获取Kernel代码可以从git官方上获取 git clone git://git.

2016-09-03 08:32:07 1797

原创 i.mx6soloX开发 之 Uboot

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入! *.备注:整个系列基于官方的i.MX6soloX sabresd开发板,只是对我所学进行总结,记录我认为是关键的点,另我能力有限,难免出现疏漏错误,如果读者有发现请多指正,以免我误导他人!前言NXP官方对i.MX6系列的支持目前都是基于yocto开发环境,之前做i.MX6UL时有

2016-09-03 07:08:50 3165 1

原创 STM32F103RE使用SPI3作为从模式

网上所见STM32的SPI例程多数是作为主模式,官方提供的例程中有从模式的例程。 但是我参照官方的例程来设置SPI3为从模式,发现MISO管脚都没有数据输出,而主机的时序没有问题。 问题是出在管脚的配置上,SPI3默认使用的管脚是: SPI3.NSS ==> PA15 SPI3.SCK ==> PB3 SPI3.M

2016-07-01 15:06:02 2183

原创 共享内存段错误???

今天测试一个简单的共享内存代码,执行到shmat之后获取的指针都是正常的,但是到了对这个指针进行赋值时出现段错误。 经过对比发现是头文件包含错误 将 #include

2016-05-03 12:03:03 1229

原创 Linux无需开发底层驱动,从应用层获取GPIO中断

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入!获取中断GPIO中断在嵌入式开发中经常用到,到了linux下,处理GPIO的中断就没有裸机那么简单了。 Linux内核中有一套GPIO框架,管理和控制芯片上的GPIO管教,包括配置输入输出,配置电平高低(输出)和获取电平高低(输入),中断管理。CPU厂家需要按照

2016-04-19 09:20:25 20223 4

原创 Beaglebone black开发板使用SPI1

写在前头*.版权声明:本篇文章为原创,可随意转载,转载请注明出处,谢谢!另我创建一个QQ群82642304,欢迎加入!开发环境Beaglebone black可使用的开发环境有两个,一个是TI官方提供的SDK,另外一个是由Beaglebone提供的SDK。我使用的是TI官方提供的SDK(ti-processor-sdk-linux-am335x-evm-02.00.00.00)该SDK已支持Be

2016-04-14 10:27:38 3668

原创 IMX6Solo启动流程-Linux 内核启动 七

创建页表之后,开启MMU,接着就跳转到start_kernel,进入内核启动的第二阶段

2015-09-28 16:40:13 1472

原创 IMX6Solo启动流程-Linux 内核启动 六

由于链接地址跟加载地址的不一致,需要开启MMU,使用地址映射方法指之一致,所以需要稍微理解一下映射原理。还有一个是平等映射的关系,理解平等映射之后就不会对开启MMU时执行流程产生疑惑。

2015-09-28 11:53:43 1870

原创 IMX6Solo启动流程-Linux 内核启动 五

解压之后的linux内核入口分析__lookup_processor_type

2015-09-28 11:51:49 1237

原创 IMX6Solo启动流程-Linux 内核启动 四

内核自解压代码

2015-09-22 11:33:38 1080

原创 IMX6Solo启动流程-Linux 内核启动 三

内核解压之前需要判断是否会出现覆盖现象,如果是需要移动镜像

2015-09-21 10:32:54 1318

原创 IMX6Solo启动流程-Linux 内核启动 二

内核自解压代码的分析

2015-09-17 10:06:55 1518

原创 IMX6Solo启动流程-Linux 内核启动 一

uImage生成流程

2015-09-17 09:35:50 2667

原创 IMX6Solo启动流程 外传-新建一条Uboot命令

新建一条Uboot命令

2015-09-06 16:31:15 1594

原创 IMX6Solo启动流程-从Uboot到kernel 下

分析bootcmd的执行流程

2015-09-01 10:25:33 2792

原创 IMX6Solo启动流程-从Uboot到kernel 中

Uboot的C函数入口以及命令的处理流程

2015-08-28 10:26:43 2922

原创 IMX6Solo启动流程-从Uboot到kernel 上

Uboot入口地址到进入C语言函数这段汇编代码的分析

2015-08-27 10:07:57 3541

原创 IMX6Solo启动流程-从上电到Uboot

RIotBoard开发板/i.MX6 Solo的启动流程,从上电到内核。

2015-08-25 17:30:17 10831 2

单片机 读写 U盘 原理

本资源内详细介绍读写原理,读写指令,还有原理图以及成品样图。所用的芯片是PB375A,希望对那些感兴趣的人有所帮助!

2009-09-26

Proteus详细教程

PDF格式的,里面介绍Proteus,还有一些例子,希望对那些刚入门的有所帮助!

2009-08-03

c语言课程设计案例精编

案例一 贪吃蛇游戏 案例二 计算器 案例三 黑白棋游戏 案例四 迷宫问题 ...

2009-07-30

C语言参考手册之函数库

本书详细介绍了C语言的函数库,希望能够对C语言刚学者有点小帮助!

2009-07-23

空空如也

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

TA关注的人

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