继续上一篇,我们还是要找到能减少改动最小的一个SDK驱动包。TI 给出的SDK是基于am3355的,所以,改动是必须的,

这里把大部分SDK相关的东西该为灰色。

在软件包里面的发表说明里面有关于软件的版本说明:

WiLink8 Release Notes

http://processors.wiki.ti.com/index.php/WiLink8_Release_Notes/R8.3SP1

General Information

Release Notes Document:

  • WLAN IP WL18xx R8.3 SP1

Product Components

Component Version
Reference Host Platform TI AM335x EVM Rev 1.2
Linux Kernel 3.8.13+
SDK Release N/A (not released as part of an SDK)
WL18xx MAC firmware version 8.8.0.0.13
WL18xx PHY firmware version 8.2.0.0.195
WL18xx Driver version ol_r8.a8.10

Release Highlights

This service pack includes all features included in R8.3 release with additional bug fixes.

  • Stability and robustness fixes
  • PHY Improvements.

Release Quality

This is a Beta release.

Solved Issues

ID Title
MCS00128368 AP Connection Failure: Failure to re-connect to AP after a disconnection during beacon profile or with traffic at low duty cycle (e.g. periodic ping)
MCS00125828 Some FW crashes observed during long traffic-stability tests
MCS00127878 STA sometimes doesn’t enter ELP immediately after re-connection
MCS00128389 Clipping temperature estimation for PA calibration to 50degC. Improves stability and robustness in MIMO scenarios.
MCS00128387
MCS00128938
Improve IQMM calibration in automotive packages
MCS00128390 Automotive 5GHz TX improvements through DPD optimizations
MCS00128736
MCS00128832
CSD fix. Solving degraded performance when connected in CSD mode

HW/System Limitation

Role Band
2.4GHz 5GHz
STA 20 MHz SISO
40 MHz SISO
20 MHz MIMO
20 MHz SISO
40 MHz SISO
AP 20 MHz SISO
20 MHz MIMO
20 MHz SISO
40 MHz SISO
P2P 20 MHz SISO
20 MHz MIMO
20 MHz SISO
40 MHz SISO

SW Limitations

  • AP/P2P SISO40 in 2.4GHz is not supported, due to missing components in the implementation required to meet specification requirements.

Release Components and Sources

Platform and Kernel information

This release was developed and tested on the following HW/SW platform:

  • Linux Kernel: Kernel 3.8 (with "device-tree" support)  http://elinux.org/Device_Trees
  • EVM: TI AM335x EVM Rev 1.2

Note: Information regarding the kernel used in the development of this release, as well as patches that were needed in order to adapt the Wilink SW to the "Device-Tree" mechanism in the kernel can be found in Appendix I - Kernel and Kernel-Patches.

WLAN SW components with Linux Kernel 3.8 ("device-tree" support)

The WLAN codebase can be found in github, according to the following specification:

  • WL18xx WLAN R8.3 SP1 SW Manifest
  • Repository: TI-OpenLink.
  • Git tag: ol_r8.a8.10
  • Relevant components covered by this tag:
  1. github.com/TI-OpenLink/wl18xx.git
  2. github.com/TI-OpenLink/hostap.git
  3. github.com/TI-OpenLink/compat.git
  4. github.com/TI-OpenLink/compat-wireless.git
  5. github.com/TI-OpenLink/18xx-ti-utils.git
  6. github.com/TI-OpenLink/wl18xx_fw.git (***)
  7. github.com/TI-OpenLink/wl12xx_target_scripts.git
  • Hostap configuration files:
  1. There are 3 configuration files for the hostap package: hostapd.conf, p2p_supplicant.conf and wpa_supplicant.conf
  2. This release modifies the default parameters of these configuration-files for optimizing operation and meeting the release requirements. It is important to use the same configuration files that were used during TI development and testing in order to achieve the same behavior and performance.
  3. These updated configuration files are currently managed outside of the original code-base. They can be found in this location (using the same git-tag mentioned above):
    github.com/TI-OpenLink/wl12xx_target_scripts.git (under "conf" folder.)

(***) Note: The WLAN Firmware Binary file-name is required to be "wl18xx-fw-2.bin".

For Legacy SDK6.0 Kernel 3.2 support:

To build the driver with kernel 3.2 please use tag : ol_r8.a8.10_32
On these repositories :

  1. github.com/TI-OpenLink/wl18xx.git
  2. github.com/TI-OpenLink/compat-wireless.git

Evaluation Pre-Builds provided for legacy SDK6.0 (kernel 3.2)  boot, rootfs

For Kernel 3.8 support

Please refer to the following page:R8.3SP1_kernel_3.8

Testing

Testing/Coverage limitations

  • This release was not integrated into a formal AM335x SDK. Therefore there WiFi operation was not tested with GUI (all testing done using command-line tools).
  • SW was not tested with recent TELEC changes
  • For full testing results please contact your TI representative.

WiFI Pre-Certification Test Status

WL18xx WiFi Build Process

http://processors.wiki.ti.com/index.php/WL18xx_WiFi_Build_Process

1 Introduction

This page will walk you through how to do the following:

  • Configure and build your host environment
  • Configure and compile the PSP Linux kernel for support of the WL18xx.
  • Use the system build scripts to update functions and drivers.

This page assumes that you are familiar with the process of configuring and compiling the kernel.

2 Building the Host Environment

2.1 Securing a Host OS

  • This section describes the building process for a host running Ubuntu Linux distribution. On other Linux distributions the process should be same. In the case results of the used shell commands will not be as expected, please, consult your distribution's documentation to see the differences.
  • Linux distribution must have the following tools:
  • libglib2.0-dev (version 2.32 and later) - general-purpose C library used by projects such as GTK+ and GNOME
  • libdbus-glib-1-dev - simple interprocess messaging system (GLib interface), this package provides a GLib-style interface to D-Bus.
  • bash - GNU Bourne-Again Shell
  • autoconf and automake - automatic configure script and Makefile builder
  • libtool - generic library support
  • perl - Practical Extraction and Report Language
  • gettext - support for internalization
  • patch - utility to apply code patches
  • bison - parser generator compatible with yacc
  • flex - generates programs that perform pattern-matching on text
  • bc - arbitrary precision calculator language
  • python - interpreted, object-oriented programming language
  • python-m2crypto - Python wrapper for OpenSSL
  • python-dev - Python header files
  • python-2.7-dev
  • git - control version utility
  • corkscrew - tunnel TCP connections through HTTP proxies
  • u-boot-tools - This package includes the mkimage program, which allows generation of U-Boot images in various formats.

On Ubuntu Linux distribution use apt-get command to install each of the specified packages, for example:sudo apt-get install perl

  • In case working behaind a proxy, several steps should be apply, this is necessary since part of the WLAN components are downloaded from GitHub.com which cannot work with proxy. follow the steps below:
1. Ensure the proxy environment variables are exported:
export http_proxy=<http proxy name>:<http proxy port>
export https_proxy=<https proxy name>:<https proxy port>
export ftp_proxy=<ftp proxy name>:<ftp proxy port>
export all_proxy=<all proxy name>:<all proxy port>
2. Edit your.gitconfig file (located in the HOME directory, like "/home/user/") to use 'corcscrew':
user@ubt1004:~$ cat .gitconfig
[user][core]gitproxy = none for ti.comgitproxy = /home/user/bin/git-proxy-corcscrew-script.sh
[color][gui][sendemail]
  • For more information about GIT version control system, please check GIT's User Manual.
3. Create git-proxy-corcscrew-script.sh (in that example in folder /home/user/bin/), where corkscrew script is shell script containing the following command:
#!/bin/bash
exec corkscrew <proxy-name> <proxy-port> $*
4. modify the script permissions to executable mode
chmod +x /home/user/bin/git-proxy-corcscrew-script.sh
  • If your host build environment is 64 bit you should have all libraries and headers of standard C library for 32 bits. For example, for Ubuntu 12.4 64 bits install following packages:
sudo apt-get install ia32-libs
sudo apt-get install ia32-libs-multiarch
This is required the cross compile to work properly.

Download the SDK (source code and file system)

  • The following example assumes AM335x SDK release
  • SDK can be downloaded from <AM335x SDK Release Download Page>
  • choose specific platform (that example is for AM335x platform) and inside download 2 files:
  • AM335x SDK PSP Source Code - PSP including Kernel source code
  • AM335x SDK prebuilt PSP binaries and root filesystem - filesystem (SD Card images)
  • Download and install suitable for your board SDK package. This document assumes that SDK was installed under /home/user/SDK location.
  • Each SDK package comes with compressed archive containing precompiled root file system structure and binaries to be run on evaluation board. Extract this archive to some location on your Linux PC, this document assumes /home/user/SDK/targetfs is such location. Export environment variable to point to a location of just extracted root file system:
bash# ~/SDK> export ROOTFS=/home/user/SDK/targetfs
  • Export following environment variables to point to the Linux kernel sources placed inside SDK package:
export KLIB_BUILD=/home/bvijay/ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11<kernel build>

For example, download "ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install" and change the permission if required to run the installer.
Please refer to the Sitara_Linux_Software_Developer’s_Guide on how to use the installer

SDK Directory Structure Overview

这里是移植的参考,为各个目录文件的位置做设想,当然依旧是SDK AM335X Sitara

The Sitara Linux SDK contains the following top-level directories and files

These directories contain the code and tools used to develop for Sitara devices.

  • bin - Contains the helper scripts for configuring the host system and target device. Most of these scripts are used by the setup.sh script.
  • board-support - Contains the SDK components that need to be modified when porting to a custom platform. This includes the kernel and boot loaders as well as any out of tree drivers.
  • docs - Contains various SDK documentation such as the software manifest and additional user's guide. This is also the location where you can find the training directory with the device training materials.
  • example-applications - Contains the sources for the TI provided example applications seen during the out-of-box demonstration.
  • filesystem - Contains the reference file systems. These include the smaller base file system as well as the full-featured SDK file system.
  • host-tools - Contains the host side tools such as pinmux and flash tool.
  • linux-devkit - Contains the cross-compile toolchain and libraries to speed development for the target device.
  • Graphics_SDK_setuplinux_<version>.bin - This is the installer for the graphics SDK. The graphics SDK components are used by the Sitara Linux SDK to provide additional demos as well as integrated with the pre-built Qt libraries to accelerate various Qt functions.
  • Makefile - Provides build targets for many of the SDK components from the top-level of the SDK.
  • Rules.make - Sets default values used by the top-level Makefile as well as sub-component Makefiles
  • setup.sh - Configures the users host system as well as the target system for development
bvijay@ulx0112741:~/ti-sdk-am335x-evm-06.00.00.00$ cd board-support/linux-3.2.0-psp04.06.00.11/
bvijay@ulx0112741:~/ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/$ ls
arch           firmware  kernel       README          usr
block          fs    lib          REPORTING-BUGS  virt
COPYING        include   MAINTAINERS  samples
CREDITS        init  Makefile     scripts
crypto         ipc   mm       security
Documentation  Kbuild    net          sound
drivers        Kconfig   patches      tools
bvijay@ulx0112741:~/ti-sdk-am335x-evm-06.00.00.00$

Root file system file name is arago-base-tisdk-image-am335x-evm.tar.gz
Following is the instruction how to extract it:

bvijay@ulx0112741:~/AM335x/rootFS$ ls
arago-base-tisdk-image-am335x-evm.tar.gz
bvijay@ulx0112741:~/AM335x/rootFS$
bvijay@ulx0112741:~/ti-sdk-am335x-evm-06.00.00.00$ tar xzf arago-base-tisdk-image-am335x-evm.tar.gz -C AM335x/rootFS/
user@ubt1004:~/AM335x/rootFS$ ls
proc
bin                    sbin
boot                       srv
dev                    sys
etc                    tisdk-rootfs-am335x-evm.tar.gz
home                       tmp
lib                    u-boot-am335x-evm.img
linuxrc                    uImage-am335x-evm.bin
media                      usr
MLO-am335x-evm                 var
mnt                    www
opt
user@ubt1004:~/AM335x/rootFS$

There is a need for sudo permission to extract the dev directory, therefore additional extraction operation needed to extract the dev directory.

user@ubt1004:~/AM335x/rootFS$ sudo tar xzf tisdk-rootfs-am335x-evm.tar.gz dev

in that example the environment variables will be as follows:

export ROOTFS=/home/user/AM335x/rootFS
export KLIB_BUILD=/home/bvijay/ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11
export CROSS_COMPILE="arm-linux-gnueabihf-"
export PATH=$PATH:"Path to Cross Compiler"
export WORK_SPACE = "path where wlan components needs to be downloaded"

Building the Kernel

Environment variables - for building kernel

export CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH=arm
export TOOLCHAIN_PATH="Cross compiler tool chain path"
If you are not sure where the tool chain is installed run "locate arm-linux-gnueabihf-" it will show the complete path
export PATH=$PATH:$TOOLCHAIN_PATH/bin
export CC=${CROSS_COMPILE}gcc
export AS=${CROSS_COMPILE}as
export AR=${CROSS_COMPILE}ar
export OBJDUMP=${CROSS_COMPILE}objdump
export STRIP=${CROSS_COMPILE}strip

Creating configuration file (.config) for Linux kernel

It is often easiest to start with a base default configuration and then customize it for you use case if needed. In the Linux kernel a command of the form:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- <config>

will look in the arch/arm/configs directory for the configuration file (<config> in the line above) use that file to set default configuration options. The table below shows the default configuration files for various platforms.

Note: The configuration file used to build the pre-built binaries found in the SDK can be found in the arch/arm/configs directory as tisdk_<device>_config and can be used in place of the config file given below to reproduce the SDK Linux kernel configuration settings. The differences between these files generally revolve around enabing/disabling additional modules for expected SDK use cases.

Device SDK config PSP config
AM335x/Beaglebone tisdk_am335x-evm_defconfig am335x_evm_defconfig
AM37x tisdk_am37x-evm_defconfig omap3_evm_defconfig
AM3517 tisdk_am3517-evm_defconfig am3517_evm_defconfig
Beagleboard tisdk_beagleboard_defconfig omap3_beagle_defconfig
AM180x tisdk_am180x-evm_defconfig da850_omapl138_defconfig

For example, to build the default PSP configuration for the AM335x the command would be:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_defconfig

To build the SDK configuration for the AM335x the command would be:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

After the configuration step has run the full configuration file is saved to the root of the kernel tree as .config. Any further configuration changes are based on this file until it is cleanup up by doing a kernel clean as mentioned above.

  • To know exactly what configuration file to use for your board, please consult the documentation comming with the evaluation board package.
  • Ensure kernel configuration file (.config file) includes the following options and add them if neccessary.
  • The following switches should be enabled in your kernel defconfig file in order to work with full WLAN and Bluetooth support

Note: As we are using compat-wireless and compat-bluetooth packages, most of the mac80211 and bluetooth related switches are bot needed in the kernel .config file.

Note: CONFIG_REGULATOR_FIXED_VOLTAGE=y for AM37x platform and not needed for AM18x and AM335x platforms.

Make sure that the following build kernel options are disabled in the .config file in order to disable the Kernel support of WLAN BT , so the Kernel modules for WLAN BT will be provided from the Compat wireless components and not from the Kernel distribution itself.
CONFIG_BT=N
CONFIG_CFG80211=N
CONFIG_MAC80211=N

In addition make sure that the following build kernel options are enabled in the .config file

#
# Network testing
## MAC 80211
CONFIG_WLAN=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WL12XX_PLATFORM_DATA=yCONFIG_KEYS=y
CONFIG_SECURITY=y
CONFIG_CRYPTO=yCONFIG_WIRELESS_EXT=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_MICHAEL_MIC=yCONFIG_RFKILL=yCONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_CRC7=y# The following are needed for soft AP
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NF_CONNTRACK=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=yCONFIG_INPUT_UINPUT=y# Enable Ethernet-WLAN Bridge
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_STP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_LLC=y
CONFIG_INPUT_UINPUT=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_NLATTR=y
CONFIG_AVERAGE=y

There are 2 option to perform that

  1. Edit the .config file and update the kernel switches, or add them at the end of the .config file
  2. use script to modify the .config file

use of script to modify the .config file

  1. the script name is wlan_enable_config.sh which comes as part of the zip file, script can be found in here
  2. in the kernel path run :
    ./wlan_enable_config.sh .config

    which will modify the .config with the right kernel switches

Note: In case there are missing kernel switches like CONFIG_WL12XX_PLATFORM_DATA, then there probably is a missing part in the kernel that relates to the WL127x chipset, and patches should be applied.

Compile the Kernel

  • Compile and create uImage by "make uImage" command.
  • In case there are Questions for kernel options, press "ENTER" to have all the default setting. the reason is due to the new kernel options added to the configuration file (.config).
  • The uImage will be located on Linux directory under /arch/arm/boot, for example: /home/user/AM335x/PSP/linux-3.2.0-psp04.06.00.08.sdk/arch/arm/boot

System Build Scripts (Up to R8.3 SP1)

The build script located in github and can be cloned as follows:

user@ubuntu:~$ mkdir utility
user@ubuntu:~$ cd utility
user@ubuntu:~/utility$ git clone git://github.com/TI-ECS/build-utilites.git
Cloning into 'build-utilites'...
remote: Counting objects: 223, done.
remote: Compressing objects: 100% (176/176), done.
remote: Total 223 (delta 115), reused 145 (delta 40)
Receiving objects: 100% (223/223), 78.98 KiB | 61 KiB/s, done.
Resolving deltas: 100% (115/115), done.
user@ubuntu:~/utility$ ls
build-utilites
user@ubuntu:~/utility$ cd build-utilites/
user@ubuntu:~/utility/build-utilites$ ls
functions  scripts             wl12xx_build.sh
patches    setup-env.sample    wl18xx_build_bt.sh   wl18xx_build_ble.sh   wl18xx_build.sh
README     wl12xx_build_bt.sh  wlan_enable_config.sh
user@ubuntu:~/utility/build-utilites$

Set tag to build R8.3SP1, there are two possible tags depending upon kernel version.To build with a 3.2 kernel (as in AM335x SDK 6.0) use

git reset --hard ol_r8.a8.10_32

and to build with any other kernel use

git reset --hard ol_r8.a8.10

There are 2 Build scripts:

  1. wl18xx_build.sh - Build the WLAN
  2. wl18xx_build_bt.sh - Build the Bluetooth (Bluez 4.98)

in addition there 2 folders:

  1. functions - holds build script of all the mutual components that are shared by the BT  and WLAN, such that it will easier to maintain same components versions.
  2. scripts - holds scripts that are used for BT, BLE , they will be installed by the build scripts in the filesystem

Build script Enviroment file

“setup-env.sample” file is used as base of “setup-env” that includes user specific environment variables.
User should copy the setup-env.sample to setup-env and edit the variables according to user specific environment
Typical file will be as follows:

# User specific environment settings
export CROSS_COMPILE="arm-linux-gnueabihf-"
export PATH="$PATH:"Path to cross compiler tool chain path"
export ROOTFS="/home/user/AM335x/RootFS"
export WORK_SPACE="/home/user/AM335x/work_space_R8_A8_10_32"
export KLIB_BUILD="/home/user/AM335x/PSP/linux-3.2.0-psp04.06.00.11"
# MACHINE_TYPE - The target machine type. Can have one of the following values: "am1808" , "omap3evm" , "am335x"
# This is needed to build bluetooth components.
# This parameter is not relevant for ti814x board.
export MACHINE_TYPE="am335x"
export BUILD_VERSION="r8"#===========================================================
export ARCH="arm"
export MY_PREFIX="/usr"
export MY_SYSCONFDIR="/etc"
export MY_LOCALSTATEDIR="/var"
export CC="${CROSS_COMPILE}gcc"
export CXX="${CROSS_COMPILE}g++"
export AR="${CROSS_COMPILE}ar"
export RANLIB="${CROSS_COMPILE}ranlib"
export CFLAGS="${CFLAGS} -I${ROOTFS}${MY_PREFIX}/include"
export CPPFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} -L${ROOTFS}${MY_PREFIX}/lib"
export PKG_CONFIG_SYSROOT_DIR=${ROOTFS}
export PKG_CONFIG_PATH="${ROOTFS}${MY_PREFIX}/lib/pkgconfig:${ROOTFS}/lib/pkgconfig"
export PKG_CONFIG_LIBDIR=""
export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=""
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=""

The main settings user should provide are:

  • ROOTFS - path to target root file system
  • PATH - add to the PATH environment variable toolchain path (after "$PATH:").
  • KLIB_BUILD - Path to the kernel sources
  • CROSS_COMPILE - the begin part of cross compiler executable name, for example "arm-none-linux-gnueabi-"
  • WORK_SPACE - Work directory for download and build process

setup-env file should to be placed in the same directory together with build scripts (wl18xx_build.sh,wl18xx_build_bt.sh etc.).

Building WLAN - wl18xx_build.sh file

This script compiles one of following utilities: libnl, openssl, hostapd, wpa_supplicant,wl12xx_modules,firmware,crda,callibrator by calling specific utility name and action.

./wl18xx_build.sh <module name> <download|build|install>

were available "module name" is

libnl
openssl
iw
hostap
wpa_supplicant
crda
ti-utils
wl18xx-firmware
compat-wireless
wlconf

examples:

./wl18xx_build.sh all
./wl18xx_build.sh compat-wireless build
./wl18xx_build.sh clean-all

If root file system requires root privileges add sudo before the script, for example:

sudo ./wl18xx_build.sh all

Building WLAN - wl18xx_build AMXXX SDK7.0

WL18xx AMxxx Platform Integration Guide

System Build Scripts (R8.4 and above)

【实践驱动开发3-002】TI WL1835MODCOM8 在android的移植 - 软件获取相关推荐

  1. 【实践驱动开发3-003】TI WL1835MODCOM8 在android的移植 - 软件获取2

    TI的产品线太多了,所以当你要选定一部分资源的时候,往往会陷入浩瀚的海洋的感觉,一个链接接着一个链接: 1 软件下载链接指向:http://processors.wiki.ti.com/index.p ...

  2. 【实践驱动开发3-001】TI WL1835MODCOM8 在android的移植 - 准备

    TI 的无线芯片的支持很好,不过有一个问题,那就是TI总是一堆堆的给你东西,TI的OMAP系列虽然很好,但是贵啊!如果我们想在其他平台上拿TI的某一个模块进来,还真的有点麻烦. 本文尝试在x210上用 ...

  3. 【实践驱动开发3-004】TI WL1835MODCOM8 在android的移植 - 系统结构初始化和参考列表

    移植wifi,显然必须了解wifi的基础结构,尤其在Android下的结构. 1 wifi的系统结构: 2 SDIO/wifi驱动分析 1.1 Android 下的wifi配置设置 在GOOGLE的网 ...

  4. 【实践驱动开发3-006】TI WL1835MODCOM8 在android的移植 - SDIO wifi驱动的注册步骤

     说明之前:文档建立在实际的项目中: 硬件环境是三星x210,软件是android4.0 ubuntu13.04 EDITING AREA Linux的platform 机制简介 从 Linux ...

  5. 【实践驱动开发3-005】TI WL1835MODCOM8 在android的移植 - SDIO and wifi 基础

    硬件环境是三星x210,软件是android4.0 ubuntu13.04 1 SDIO接口介绍 1.sdio接口层解析 SDIO总线 SDIO总线 和 USB总线 类似,SDIO也有两端,其中一端是 ...

  6. 【实践驱动开发2-001】wifi 在android 下的实现 - AR6000 系列移植详细步骤

    说明之前:文档建立在实际的项目中: 硬件环境是三星x210,软件是android4.0 ubuntu13.04 1  如何获取驱动: 1.1 AR6000 3.1的资源包最新可以找到的地方: 2014 ...

  7. WINCE下SOS驱动开发

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  8. 随想录(驱动开发程序员需要的一些技能)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 驱动程序员因为和底层设备打交道的地方比较多,所以很多人认为开发驱动程序是一门非常高级的活儿.但 ...

  9. 从零开始使用CodeArt实践最佳领域驱动开发(三)

    5.领域模型设计 在开始考虑如何构建账户子系统的领域模型之前,我们先来看看关于CA里领域模型的基本概念.初次接触这些陌生的概念确实会一知半解,不过没有关系,大家实践几次领域设计后就会融会贯通,深刻体会 ...

最新文章

  1. 音视频处理中的硬压缩与软压缩
  2. Shell合并两个文件成一个文件的两列paste,awk
  3. 【R】函数-字符处理函数
  4. 字符串与字符串函数 - 字符串输出 常用字符串函数
  5. 【bzoj2006】【NOI2015】超级钢琴
  6. 那个抗血栓机器人_礼来抗血栓药物普拉格雷(Effient)不及波利维(Plavix)
  7. java jdk安装与环境变量配置
  8. 北京市交管局联合高德地图发布北京中考出行提示
  9. 无法启动windows安全中心服务
  10. mysql 时间戳 bigint_MySQL时间类型datetime、bigint及timestamp的查询效率
  11. 东北大学linux程序设计考试,Linux认证考试试题及答案
  12. SI 9000 及阻抗匹配学习笔记(四)
  13. Qt -QQ音乐歌词桌面
  14. win10 专业版 explorer.exe下载 (完全Free)
  15. flutter 获取定位_Flutter 获取定位
  16. 单独招生计算机笔试是考什么,单招考试考什么内容 单招一般考什么科目
  17. 人脸识别之facenet代码实现
  18. 三星笔记本 win10+ubuntu18.04.3双系统 BIOS设置
  19. 网络 :基础——路由器、交换机
  20. (java)密码加密。某系统的数字密码,比如1983,采用加密方式进行传输,规则如下:先得到每位数,然后每位数都加上5,再对10求余,最后将所有数字反转,得到一串新数。

热门文章

  1. 一台服务器搭建部署两个或多个Redis实例
  2. c语言 连接两个字符串不使用库函数
  3. 【HTML】底部弹窗插件代码
  4. “An exception has been raised that is likely due to a transient failure. Consider enabling transient
  5. C#LeetCode刷题之#680-验证回文字符串 Ⅱ​​​​​​​(Valid Palindrome II)
  6. 组件和高阶组件区别_为什么要对高阶组件使用代码拆分
  7. soap rest_这是我对REST的后续工作,是新的SOAP:让我们谈谈原始REST
  8. 学生_课程_成绩_教师50个常用sql
  9. Stateflow如何观察变量的变化
  10. Python爬虫的requests模块你真的学会了吗?来看看这些高级用法!