- 博客(33)
- 资源 (27)
- 收藏
- 关注
原创 安凯anycloud39EV330开发环境搭建
1、安装交叉编译工具链: sudo tar jxvf arm-anykav500-linux-uclibcgnueabi_V1.0.03.tar.bz2 -C /opt/安凯文档描述解压,没有带-C /opt,需要注意下正确方式:2、修改/etc/profile文件加入:export PATH=$PATH:/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/保存后执行:source /etc/profile3、...
2020-10-29 14:31:56 3123 2
原创 anyka cloud39EVXX平台busybox怎么编译
很多客户咨询,busybox怎么编译呢?下面我回答下编译的具体步骤:busybox编译:1、解压busybox-1.24.1.tar.gztar -xvf busybox-1.24.1.tar.gzcd busybox-1.24.12、配置安凯的配置文件 make anyka_bsp_defconfig make menuconfig (选择你要的功能命令)3、编译及安装 make make install (默认在当前目录下面的_install)...
2020-09-16 21:08:38 460
原创 安凯Cloud39EV200/V300平台支持ssv6255的双频usb wifi移植过程
测试平台宿主机平台:Ubuntu 16.04目标机:cloud39ev200目标机内核:Linux 3.4.35修改后的驱动下载地址:https://download.csdn.net/download/longjiacheng2006/12630124(下文都是针对未修改的驱动操作)一、驱动修改编译:修改makefile:然后编译 make:权限不够,不知道编译的ko会不会有问题,还是修改下权限再编译make clean之后修改权限,再来一次mak.
2020-07-17 17:54:03 1865
原创 安凯Cloud39EV200/V300平台支持RDA5995的usb wifi移植过程
测试平台宿主机平台:Ubuntu 16.04目标机:cloud39ev200目标机内核:Linux 3.4.35修改后的驱动下载地址:https://download.csdn.net/download/longjiacheng2006/12608760(下文都是针对未修改的驱动操作)一、驱动修改编译:1、虚拟机解压RDA5995.7z后,有下面的文件:2、在RDA5995\rdaw80211\rdawlan下面有支持usb和sdio的两个makefile,我们只针对us
2020-07-13 11:24:25 3414 1
原创 [ANYKA IPC]如何让不支持无光敏算法的sensor快速实现SDK里面的无光敏算法
如何让不支持无光敏算法的sensor快速实现SDK里面的无光敏算法1、修改isp_xxx.conf文件,用isptool目录里面ISPTool.exe工具,导入对应的isp.conf,对比修改如下(只针对夜参数):a、打开isptool,导入文件b、修改raw gamma:...
2019-08-10 13:58:27 802
原创 ANYKA V200使用 updater local K=/etc/jffs2/zImage_spinand 失败
updater local K=/etc/jffs2/zImage_spinand 来升级内核,提示如下:解决方法:将updater.c里面的main函数最后的这个判断改成如下即可,去掉升级备份分区的升级。if(0)//g_nand_flash_flag == 1){if(-1 == fha_interface_Update_ASA_data((const char* ...
2019-07-04 11:41:19 787
原创 AK3918EV200支持sdio wifi为一线模式(8189ftv模块为例)
按照安凯sdk默认的配置,硬件接的是4线的,kernel\arch\arm\mach-ak39\mach-sky39e_ak3918e80pin_mnbd.c里面配置默认是一线的,那为什么需要重新修改gpio的配置呢?因为内核的gpio默认配置也是sdio四线的,D0,D1,D2,D3作为数据口了,加载驱动的时候,会导致系统不停的产生中断,top的时候cpu占用率是99%左右。所以只需要保留D...
2019-05-14 15:39:38 3572 1
原创 安凯Aimer37C 内核编译出错Can't use 'defined(@array)'
一、开发环境:Ubuntu16.04.2(64bit) linux4.10二、问题现象:Can't use 'defined(@array)' (Maybe you should just omit the defined()三、解决方案:将:改成:重新 make O=../bd -j8 zImage即可,正常编译通过...
2019-03-05 11:03:47 376 2
原创 ANYKA cloud39e系列 在uboot下如何操作GPIO口 ?
用AK_GPIO_47 做为实例操作参考:#define REG(addr) (*(volatile unsigned int *)(addr))/* 设置 AK_GPIO_47 做GPIO的功能 */value = (unsigned int)REG(GPIO_SHAREPIN_CONTROL1);value &= ~(0x3<<9);REG(GP...
2018-10-10 16:22:50 864 1
原创 ANYKA Cloud平台usb虚拟网卡实现
本文仅只针对ak391X系列芯片做从设备实现RNDIS。内核配置选项:设备做从设备选项:编译内核:编译模块:然后设备端: insmod udc.ko insmod g_ether.ko 设备端ifconfig usb0 192.168.1.108没有更新w10的驱动前,设备被识别成串口了:按照:https://blog.csdn.net/baidu_32237719/article/det...
2018-06-11 10:12:32 1599 2
原创 ak39e系列区分usb插入电源还是pc机
一、实现原理: 设备插入pc机端的时候,会收到pc端的枚举,这时会有usb中断信号产生。根据这个中断信号得知是插入pc端还是充电器。二、实现过程:1、修改Udc.c (drivers\usb\gadget\plat-anyka) 内容如下:1.1、定义一个标记变量:……static const char debug_filename[] = "driver/
2016-11-14 15:04:18 899 1
原创 cloud39E支持PWM0
ak3918e_pwm.h:#ifndef __AK_PWM_H_#define __AK_PWM_H_#include #define SHARE_PIN_CFG1_REG (AK_VA_SYSCTRL + 0x00000074) // SHARE PIN CFG1#define SHARE_PIN_CFG2_REG (AK_VA_SYSCTRL + 0x00
2016-06-22 16:39:11 1004
原创 安凯AK3918E加载mtk7601驱动不能ifconfig wlan0 down
现象: mtk7601 反映down不下去。尝试了几个版本的7601驱动,同样都有这种现象原因:mtk7601本身设备在执行down后,已经执行了down动作,但我们cpu没有收到回馈的irq,造成 cpu一直堵塞等待irq。修改方法:将 kernel/driver/usb/core/urb.c里面:wait_event_interruptible(u
2016-04-14 15:50:35 3047
原创 AK3918e的ISP如何设置成测试模式
那么怎么开启ISP的测试模式呢?如上图,isptool工具里面可以配置。misc->PatternEn选Enable,PatternCfg选0->8都可以。其中PatternCfg是选择不同的输出模式。
2016-03-16 09:37:22 3344
原创 Cloud39E的UART1串口使用问题
39e的板子要用到uart2,即CIS_DATA0/GPIO6_PD/RXD2、CIS_DATA1/GPIO7_PD/TXD2这两个pin要利用成RXD2、TXD2功能,那么在软件上配置如下就可以正常使用:1、kernel/arch/arm/mach-ak39/ak39-gpio.c修改如下: struct gpio_sharepin_cfg share_cfg_module[
2016-03-16 09:29:38 1509 1
原创 cloud39怎么去掉UART0的打印功能,用作串口通讯使用
1、在编译配置内核在.config 文件下CONFIG_CMDLINE="root=/dev/mtdblock1 ro rootfstype=squashfs init=/sbin/init mem=64M console=ttySAK3,115200" //红色处不要设为ttySAK02、内核配置 Device Drivers --->
2015-12-28 13:58:15 1546
转载 字符设备 register_chrdev_region()、alloc_chrdev_region() 和 register_chrdev()
内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下: static struct char_device_struct { struct char_device_struct *next; // 指向散列冲突链表中的下一个元素的指针 uns
2012-03-10 10:10:38 436
转载 linux等待队列
Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在Linux2.4.21中,等待队列在源代码树include/linux/wait.h中,这是一个通过list_head连接的典型双循环链表,如下图所示。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_q
2012-01-18 17:31:21 450
转载 段错误bug的调试
我们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内存访问越界的错误谈谈如何快速定位这些"段错误"的语句。下面将就以下的一个存在段错误的程序介绍几种调试方法:
2011-12-08 09:01:58 563
转载 对于struct file_operations中ioctl消失的学习笔记
很久都没有写驱动代码了,对于一些驱动相关的内核变化也没有怎么关心。这次重游《LDD3》获益良多,其值对于struct file_operations中ioctl的消失也让我长了不少见识。当年看《LDD3》的时候已经注意到了书中对ioctl的评价不是很好:“ioctl调用的非结构化本质导致众多内核开发者倾向于放弃它。” ,而在这次阅读3.0代码的时候,这个成员在struct file_opera
2011-11-14 10:57:38 948 1
原创 linux 串口驱动测试代码
#include /*标准输入输出定义*/#include /*标准函数库定义*/#include /*Unix 标准函数定义*/#include #include #include /*文件控制定义*/#include /*PPSIX 终端控制定义*/#include /*错误号定义*/#inc
2011-10-29 11:38:45 881
原创 J-LINK烧写不进uboot时的问题
打开jlink commander 按照正常的步骤操作,在loadbin uboot映像文件的时候出现:CPU is not halt !然后我又重新操作好几遍,都出现这个问题,还以为CPU有什么问题,多换了几块板子试了下,都一样。难道我的jlink线没连接好,USB 口有问题了?一个一个的去排查,换个jlink还是一样,都是一样的CPU is not halt !,此时郁闷了,浪
2011-10-29 11:33:37 2422
原创 自己的内核制作过程
先记录一下,免得忘记!1、将相关平台的config文件拷贝到linux-xxx-xxx目录下,改名为.config2、make menuconfig3、make zImage3、./create_img.sh 自己的脚本文件如果编译过程中出现错误,可执行“make clean”或者“make mrproper”,然后重新运行“make menuconfig”,加载配置文
2011-10-21 09:54:06 1230
转载 2.6.24内核中对S3C2440的引导启动分析
板子:qq2440内核:2.6.24BootLoader在引导启动内核的时候需要设置3个寄存器R0 – 0R1 – 板子的ID号R2 – 内核的参数链表地址,也就是TAG链表注意:查看代码前要清楚连接脚本,arm汇编,linux gcc汇编的知识,硬件相关
2011-08-23 15:01:22 790
翻译 结构体之位域(位段)
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区
2011-08-18 10:08:29 4736 2
原创 用JLINK GDBSERVER调试海思3515的U-BOOT
摆脱用LED和printf串口调试来调试吧……1,在WINXP上连接开发板的串口,并连接JLINK。启动开发板,然后运行JLINK GDBSERVER。GDBSERVER显示正在监听2331端口。2,在UBUNTU上编译U-BOOT,并下载和编译arm-hismall-l
2011-08-10 11:19:01 5100 2
原创 海思3515uboot分析一
#include #include #if defined(CONFIG_OMAP1610)#include #elif defined(CONFIG_OMAP730)#include #elif defined(CONFIG_HISILICON)#i
2011-08-01 17:03:10 5654 1
原创 海思3515串口乱码时烧写uboot
前段时间因为想把3515的主频降下来来达到降温的效果,我于是修改了hi3515v100—220M.h文件中73行#define APLL_FBDIV 0xDC //220M代码改为#define APLL_FBDIV 0x86 //133M,编译后烧到3515的板子上,重
2011-07-29 16:05:06 5160
原创 海思3515用jlink烧写uboot
1、安装jlink驱动2、打开串口终端,启动开发板,按下ctrl+c到uboot下3、打开J-Link Commander按下列步骤操作: A、rce 0 9 1 1 回车查看这个寄存器的值 B、wce 0 9 1 1 d 回车看寄存器的值变0x0000000D没
2011-07-22 15:55:20 5469 22
翻译 设备I/O端口与I/O内存的访问
<br />对于一块实际的设备而言,通常会提供一组寄存器来用于控制设备,读写设备和获取设备状态,也就是我们常说的控制寄存器,数据寄存器和状态寄存器。这些寄存器可能位于I/O空间(这时叫做I/O端口),也可能位于内存空间(对应的内存空间被成为I/O内存)。在Linux中提供了一系列的I/O端口和I/O内存操作的接口如下:<br /> 1)I/O端口操作:在Linux设备驱动中,应使用Linux内核提供的函数来访问定位于I/O空间的端口,包括一下几种:<br /> *读写字节端口(8位宽)<br />
2011-05-29 20:25:00 921
原创 DK80000针对Linux系统开发(芯片是TI公司OMP3530(cortex-A8+c64+核))
DK80000针对Linux系统开发(芯片是TI公司OMP3530(cortex-A8+c64+核))一:开发环境搭建: 1 交叉编译环境安装: 将arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz2解压到/home/huishiyong/下面。 cd /home/huishitong/share/tools tar xvjf
2011-05-28 23:28:00 2055
anyka_v200_南方硅谷双频wifi驱动_L.SMAC.19Q3.2025.01.tar.gz
2020-07-17
anykav200支持rdaw80211.tar.gz
2020-07-13
libusb-1.0.6.tar.bz2
2011-06-16
华清远见《Linux内核修炼与提升之道》
2011-06-03
TCP协议实现文件传输
2011-04-25
基于ARM和GPRS的远程家用监控系统的设计
2011-03-27
嵌入式数字硬盘录像机的设计与实现
2011-03-27
C语言的函数大全下载中心
2009-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人