- 博客(37)
- 收藏
- 关注
转载 Sizeof与Strlen的区别与联系
Sizeof与Strlen的区别与联系一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof
2017-08-06 16:52:51
330
原创 linux vmware虚拟机中的ubuntu扩大磁盘分区
用VMware安装了一个Ubuntu, 安装的时候选择了20G的空间,使用过程中发现空间20G空间远不够用,最好的办法,我觉得是重新安装,但由于上面已经有android源码,重新下载,更麻烦,所以决定给虚拟机扩容。1、改变虚拟盘大小首先把虚拟机的ubuntu关机, 然后使用vmware的硬盘调整工具vmware-vdiskmanager.exe改变虚拟盘的大小。这个工具就在vmware的安
2017-06-15 17:20:54
987
原创 嵌入式linux 字节对齐 导致输出Alignment trap
在ARM9新塘平台运行应用程序时,总是输出Alignment trap,但是并不影响程序的运行。通过查找资料,发现cpu在处理内存对齐的时候,有几种方式可以设置。cat /proc/cpu/alignmentUser: 0System: 0Skipped: 0Half: 0Word:
2017-05-22 18:41:55
1125
1
转载 linux gprs模块 sim800a 芯片 ppp拨号上网
调试平台 :TI335X 拨号模块:SIM800a注意:硬件说明手册上要求RX TX电压是2.8V,并提供有分压电路,如果电压是3.3或者不对无法通信正常。一,GPRS介绍GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块根据其提供的数据传输速率又可以分为GP
2017-05-18 09:39:51
7753
原创 linux rc 启动项
inetd是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。它可以为多种服务管理连接,当 inetd 接到连接时,它能够确定连接所需的程序,启动相应的进程,并把 socket交给它(服务 socket会作为程序的标准输入、输出和错误输出描述符)。使用 inetd来运行那些负载不重的服务有助于降低系统负载,因为它不需要为每个服务都启动独立的服务程序一
2017-04-21 17:07:54
461
原创 VMware出现“该虚拟机似乎正在使用中”问题
按照以下步骤解决虚拟机异常关机无法打开问题1,在用VMware虚拟机的时候,有时会发现打开虚拟机时提示“该虚拟机似乎正在使用中。如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏。配置文件: D:\win10x64\Windows 10 x64.vmx。”这是由于虚拟机未正常关闭引起的,下面看看解决办法。2,我们首先点击“获取所有权(T)
2017-04-18 14:04:03
47990
43
转载 Alignment trap 解决方法
前几天交叉编译crtmpserver到arm9下。编译通过,但是运行的时候,总是提示Alignment trap,但是并不影响程序的运行。这依然很令人不爽,因为不知道是什么原因引起的,这就像一颗定时炸弹一样,一定要解决。 修改makefile,加入-ggdb,去掉编译优化,重新编译。编译完毕,在gdb下运行,依然提示Alignment trap,并且gdb没有任何反应。按照设想,
2017-02-08 09:52:53
1832
转载 linux 静态库和动态库的一些笔记
linux 静态库和动态库1. 静态函数库 可以使用ar命令来创建和修改静态库,这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。
2017-01-17 10:41:32
372
原创 ubuntu 12.04 GDB调试常用指令
编译时必须加上参数-g ,例:g++ -g -o hello hello.c 通过Gcc编译生成可执行文件才能用Gdb进行调试。进入gdb界面:gdb hello 提示符变成(gdb)(1)查看文件 源码在Gdb中键入”l”(list)就可以查看所载入的文件(2)设置断点只需在”b”后加入对应的行号即可(或直接输入函数名)。如下所示:(gdb)b 6 (gdb)b
2016-12-07 17:30:07
449
原创 嵌入式arm-linux-gdb和 gdbserver 编译及调试
嵌入式arm-linux-gdb和 gdbserver 编译及调试一:编译安装 arm-linux-gdb1, 进入一下地址下载安装包 ftp://ftp.gnu.org/gnu/gdb/gdb-6.8a.tar.bz2 下载完成后解压得到gdb-6.8 .2, 进入目录编译安装 cd gdb-6.8 ./configure --target=arm-linux --enabl
2016-11-29 17:46:15
1073
原创 shell 基本语法测试
#! /bin/bashif_find_file(){if [ -e /home/allen/test/shell_test/echo.sh ]thenecho "file exit......"elseecho " can't find this file......"fi}if_find_eth0(){#ifconfig | grep p
2016-08-04 18:10:19
321
原创 crond 计划任务使用
在ubuntu 测试 12.04 默认crond 服务是开启的crontab -e //第一次编辑时提示选择编辑器 vim*/3 * * * * date >> ~/time.log //每3分钟更新一次时间到time.log文件中sudo service cron restart // 重启服务目标版测试 TI平台 如果busybox中不支持crontab需要
2016-08-04 16:28:01
607
原创 lenovo ideapad 虚拟机安装问题
错误描述:VMware Workstation 不可恢复错误: (vcpu-0)vcpu-0:VERIFY vmcore/vmm/main/cpuid.c.382bugNr=1036521解决办法:fn + F2 进入bios配置界面,在bios中找到Intel virtual technology,将其设置为ENABLE,保存重启,虚拟机就正常。
2016-07-29 10:58:39
2139
转载 V4L2命令之 VIDIOC_G_CTRL, VIDIOC_S_CTRL
参考地址:http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-g-ctrl.htmlNameVIDIOC_G_CTRL, VIDIOC_S_CTRL — Get or set the value of a controlSynopsisint ioctl(int fd, int req
2016-06-25 17:23:00
3617
原创 学习资料链接地址
1,git学习资料官方地址https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80
2016-06-24 17:34:34
11165
转载 A20编译
android 源码编译分为 2 个部分,一部分是 linux 内核编译,这部分包括 uboot,另一部分是 android 源码编译。所以编译时各自单独编译,编译成功能,最近单独打包成最终烧录的镜像文件。2.1 源码结构说明首先把源码包 A20-420-V12.tar.bz2 复制在 XHD-A20 目录下,并解压xinhangdao@xinhangdao:~/XHD-A20$
2016-06-24 15:19:23
388
转载 全志 A20 camera移植--转载(惜爷)
1全志 A20 camera移植在Android4.0升级后,突然发现大量平台对Camera的支持均非常不好。要么Camera使用不稳定,要么各类ioctl设置不能使用,更有甚者,连Camera Device都不能创建。 而我们的产品,基于Camera的正常工作,必须解决此类问题。选择了其中一款使用CSI接口Camera的平台:全志A20来做研究和解决。 0. 基础知识 :
2016-06-24 15:17:03
1370
原创 C 关于变量a的那些乱七八糟的定义
// C链表的使用示范,存储学生的名字和编号//测试环境 visual studio 2012 #include "stdafx.h"#include #include #include int a = 1;int *b = NULL;int **c = NULL;int d[10] = {1,1,1,1,1,1,1,1,1,1};int *e[10
2016-04-27 17:21:05
557
原创 C 递归逆序输出字符串
//测试环境 visual studio 2012 // 递归时 将p+1 换成 p++ 将会一直递归到栈溢出出错#include "stdafx.h"#include #include #include char str[] = "hello world";void print_str(char *p){if (*p != '\0'){pri
2016-04-27 11:00:17
916
原创 C sizeof 关键字
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//visual studio 2012 //sizeof 是一个关键字 而不是函数 sizeof在计算变量所占空间大小时括号可以省略 计算类型大小时不能省略#include "stdafx.h"#include #include #include void fun(i
2016-04-24 21:50:38
266
原创 C 判断一个字节中置1的位个数
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。// visual studio 2012 //移位判断是否为1#include "stdafx.h"#include "iostream"#include "stdio.h"int count = 0;void Count_setbit(unsigned num){
2016-04-22 14:52:45
2098
原创 C字符变量地址输出
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//字符变量取地址用C++流输出 需要强制转换void *#include "stdafx.h"#include #include #include char **p2;char *p1;char pp = 'A';int **m2;int *m1;int
2016-04-17 07:55:57
646
原创 C 链表示例
// C链表的使用示范,存储学生的名字和编号//测试环境 visual studio 2012 #include #include struct Student{char cName[20];int iNumber;struct Student* pNext;};int iCount = 0;struct Student* Create()
2016-04-16 19:00:31
303
原创 C 字符串指针与字符数组
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//visual studio 2012 系统分配时存储位置不一样 字符串指针在初始化时存储在静态区是常量,初始化后不能修改//字符数组 是存放在栈中的,值是可以修改的#include "stdafx.h"#include #include #include #include
2016-04-16 16:46:29
387
原创 C 冒泡排序原理示范
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。// visual studio 2012 // C 冒泡排序原理示范#include "stdafx.h"#include "iostream"#include "stdio.h"//static int test_array[] = {1,2,3,4,5,6};stati
2016-04-13 16:00:37
272
原创 C队列 数组实现
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。// visual studio 2012 // 一个长度为10的队列的数组实现操作// 对应C++中的操作函数 入队push(),出队pop(), 读取队首元素front(),读取队尾元素back() // 判断队是否有元素empty(),求队列元素个数size()#includ
2016-04-12 17:39:01
879
原创 STM32f103 看门狗使用
//看门狗使用需要计算超时时间#ifndef __STM32_WDG_H__#include "stm32f10x.h"#define LSI_FREQ 40000void stm32_wdg_init(void);void stm32_wdg_enable(void);void stm32_wdg_feed(void);#endif
2016-04-11 22:03:48
6055
原创 STM32f103 双串口配置和中断
//代码仅仅是配置使能串口和相应的中断处理函数,具体功能需要自己定义 #include "stm32_uart.h"uint8_t card_ture=0;uint16_t add_count=0;uint8_t Key_Data[1]={0};uint8_t Media_Flag=0;uint8_t card_code[4]; //[5:1]save the
2016-04-11 21:53:13
6834
原创 STM32f103 定时器配置和中断处理函数
#include "stm32_timer.h"uint8_t tick = 0;void stm32_timer_init(void){ uint16_t PrescalerValue = 0; NVIC_InitTypeDef NVIC_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStruct
2016-04-11 21:48:53
7287
原创 STM32f103 IO输出控制
#include "stm32_led.h"void stm32_set_gpio(GPIO_TypeDef * port, uint16_t pin_x){ port->BSRR = pin_x;}void stm32_clr_gpio(GPIO_TypeDef * port, uint16_t pin_x){ port->BRR = pin_x;
2016-04-11 21:42:30
1639
原创 STM32f103 外部引中断
#include "stm32_key.h"uint8_t key_value = 0xff;uint8_t key_index = 0xff;uint8_t key_row_index = 0xff;const uint16_t ROW_PIN[ROW_COUNT] = {BUTTON_ROW_ONE_PIN,
2016-04-11 21:38:20
561
原创 STM32f103 I2C模拟
#ifndef __STM32_I2C_H__//#include "stm32f0xx.h"#include "stm32f10x.h"#include "stm32f10x_i2c.h"#define I2C1_RCC_AHBPERIPH RCC_APB2Periph_GPIOB#define I2C1_PORT GPIOB#def
2016-04-11 21:28:04
1443
原创 STM32f103 FLASH 操作
#include #include "stm32_flash.h"FLASH_Status FLASHStatus = FLASH_COMPLETE;//TestStatus MemoryProgramStatus = PASSED;uint8_t backups[FLASH_PAGE_SIZE]; void stm32_flash_unlock(void){
2016-04-11 21:25:25
2480
原创 C 宏和位操作
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include "iostream"#include "stdio.h"int a = 1;//#define BIT3 (0x1 #define BIT(bit) (1 void set_bit(int* data, int bit
2016-04-11 15:22:22
905
原创 PIC32MX450 串口4中断
/********************************************************************* * * UART Interrupt Example * ********************************************************************* * F
2016-04-06 14:50:20
2056
原创 PIC18F14k50 中断
//mplab v1.7 mcc18 串口接收中断示例#include#include #define u8 unsigned char#define u16 unsigned int#pragma config CPUDIV = NOCLKDIV#pragma config USBDIV = OFF#pragma config FOSC = HS#
2016-03-30 11:08:14
2996
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人