Allwinner Camlinux的3g驱动移植

 

更新历史

20190613,15:34,v2.0

修正几处错别字;

修改一些描述。

 

20151217,11:05,v1.0

初稿,略

 

前言

比较简单,仅记录。

我工作的SDK来源于AllWinner的A20裁剪code,这个SDK源自android,但是全志把上面的java/jvm部分裁剪了——从代码来看,除了lichee外,没有android文件夹,取代的是camlinux——对3g开发来说,没区别。

 

一,内核配置参考

3g模块移植很顺利,对照着官方文档,make menuconfig进行,选好选项,增加VID,PID就OK了。

这里不贴图了,只把内核的.config参考配置贴出来吧:

$ VIM荔枝/ Linux的3.4 /的.config

#自动生成的文件; 不要编辑。

#的Linux / ARM 3.4.39内核配置

CONFIG_ARM = Y

CONFIG_SYS_SUPPORTS_APM_EMULATION = Y

CONFIG_GENERIC_GPIO = Y

#CONFIG_ARCH_USES_GETTIMEOFFSET未设置

CONFIG_GENERIC_CLOCKEVENTS = Y

CONFIG_GENERIC_CLOCKEVENTS_BROADCAST = Y

CONFIG_KTIME_SCALAR = Y

CONFIG_HAVE_PROC_CPU = Y

CONFIG_STACKTRACE_SUPPORT = Y

CONFIG_LOCKDEP_SUPPORT = Y

CONFIG_TRACE_IRQFLAGS_SUPPORT = Y

CONFIG_HARDIRQS_SW_RESEND = Y

CONFIG_GENERIC_IRQ_PROBE = Y

CONFIG_GENERIC_LOCKBREAK = Y

CONFIG_RWSEM_GENERIC_SPINLOCK = Y

CONFIG_ARCH_HAS_CPUFREQ = Y

CONFIG_ARCH_HAS_CPU_IDLE_WAIT = Y

CONFIG_GENERIC_HWEIGHT = Y

CONFIG_GENERIC_CALIBRATE_DELAY = Y

CONFIG_NEED_DMA_MAP_STATE = Y

CONFIG_VECTORS_BASE =为0xffff0000

CONFIG_ARM_PATCH_PHYS_VIRT = Y

CONFIG_NEED_MACH_IO_H = Y

CONFIG_NEED_MACH_MEMORY_H = Y

CONFIG_GENERIC_BUG = Y

CONFIG_DEFCONFIG_LIST =“/ lib目录/模块/ $ UNAME_RELEASE /的.config”

CONFIG_HAVE_IRQ_WORK = Y

 

#常规设置

CONFIG_EXPERIMENTAL = Y

CONFIG_INIT_ENV_ARG_LIMIT = 32

CONFIG_CROSS_COMPILE =“”

CONFIG_LOCALVERSION =“”

#CONFIG_LOCALVERSION_AUTO未设置

CONFIG_HAVE_KERNEL_GZIP = Y

CONFIG_HAVE_KERNEL_LZMA = Y

CONFIG_HAVE_KERNEL_XZ = Y

CONFIG_HAVE_KERNEL_LZO = Y

CONFIG_KERNEL_GZIP = Y

#CONFIG_KERNEL_LZMA未设置

#CONFIG_KERNEL_XZ未设置

#CONFIG_KERNEL_LZO未设置

CONFIG_DEFAULT_HOSTNAME =“(无)”

#CONFIG_SWAP未设置

CONFIG_SYSVIPC = Y

CONFIG_SYSVIPC_SYSCTL = Y

#CONFIG_POSIX_MQUEUE未设置

#CONFIG_BSD_PROCESS_ACCT未设置

#CONFIG_FHANDLE未设置

#CONFIG_TASKSTATS未设置

#CONFIG_AUDIT未设置

CONFIG_HAVE_GENERIC_HARDIRQS = Y

 

#IRQ子系统

CONFIG_GENERIC_HARDIRQS = Y

CONFIG_GENERIC_IRQ_SHOW = Y

CONFIG_IRQ_DOMAIN = Y

#CONFIG_IRQ_DOMAIN_DEBUG未设置

 

#RCU子系统

CONFIG_TREE_PREEMPT_RCU = Y

CONFIG_PREEMPT_RCU = Y

CONFIG_RCU_FANOUT = 32

#CONFIG_RCU_FANOUT_EXACT未设置

#CONFIG_RCU_FAST_NO_HZ未设置

#CONFIG_TREE_RCU_TRACE未设置

#CONFIG_RCU_BOOST未设置

CONFIG_IKCONFIG = Y

CONFIG_IKCONFIG_PROC = Y

CONFIG_LOG_BUF_SHIFT = 16

#CONFIG_CGROUPS未设置

#CONFIG_CHECKPOINT_RESTORE未设置

CONFIG_NAMESPACES = Y

CONFIG_UTS_NS = Y

CONFIG_IPC_NS = Y

CONFIG_USER_NS = Y

CONFIG_PID_NS = Y

#CONFIG_NET_NS未设置

#CONFIG_SCHED_AUTOGROUP未设置

#CONFIG_SYSFS_DEPRECATED未设置

CONFIG_RELAY = Y

CONFIG_BLK_DEV_INITRD = Y

CONFIG_INITRAMFS_SOURCE =“”

CONFIG_RD_GZIP = Y

CONFIG_RD_BZIP2 = Y

CONFIG_RD_LZMA = Y

CONFIG_RD_XZ = Y

CONFIG_RD_LZO = Y

CONFIG_CC_OPTIMIZE_FOR_SIZE = Y

CONFIG_SYSCTL = Y

CONFIG_ANON_INODES = Y

CONFIG_PANIC_TIMEOUT = 0

#CONFIG_EXPERT未设置

CONFIG_UID16 = Y

#CONFIG_SYSCTL_SYSCALL未设置

CONFIG_KALLSYMS = Y

#CONFIG_KALLSYMS_ALL未设置

CONFIG_HOTPLUG = Y

CONFIG_PRINTK = Y

CONFIG_BUG = Y

CONFIG_ELF_CORE = Y

CONFIG_BASE_FULL = Y

CONFIG_FUTEX = Y

CONFIG_EPOLL = Y

CONFIG_SIGNALFD = Y

CONFIG_TIMERFD = Y

CONFIG_EVENTFD = Y

CONFIG_SHMEM = Y

CONFIG_AIO = Y

#CONFIG_EMBEDDED未设置

CONFIG_HAVE_PERF_EVENTS = Y

CONFIG_PERF_USE_VMALLOC = Y

 

#内核性能事件计数器

#CONFIG_PERF_EVENTS未设置

#CONFIG_PERF_COUNTERS未设置

CONFIG_VM_EVENT_COUNTERS = Y

CONFIG_COMPAT_BRK = Y

CONFIG_SLAB = Y

#CONFIG_SLUB未设置

#CONFIG_PROFILING未设置

CONFIG_HAVE_OPROFILE = Y

#CONFIG_KPROBES未设置

#CONFIG_JUMP_LABEL未设置

CONFIG_HAVE_KPROBES = Y

CONFIG_HAVE_KRETPROBES = Y

CONFIG_USE_GENERIC_SMP_HELPERS = Y

CONFIG_HAVE_REGS_AND_STACK_ACCESS_API = Y

CONFIG_HAVE_CLK = Y

CONFIG_HAVE_DMA_API_DEBUG = Y

CONFIG_HAVE_ARCH_JUMP_LABEL = Y

 

#gcov的基础内核分析

#CONFIG_GCOV_KERNEL未设置

CONFIG_HAVE_GENERIC_DMA_COHERENT = Y

CONFIG_SLABINFO = Y

CONFIG_RT_MUTEXES = Y

CONFIG_BASE_SMALL = 0

CONFIG_MODULES = Y

CONFIG_MODULE_FORCE_LOAD = Y

CONFIG_MODULE_UNLOAD = Y

CONFIG_MODULE_FORCE_UNLOAD = Y

CONFIG_MODVERSIONS = Y

CONFIG_MODULE_SRCVERSION_ALL = Y

CONFIG_STOP_MACHINE = Y

config_block中= Y

#CONFIG_LBDAF未设置

CONFIG_BLK_DEV_BSG = Y

#CONFIG_BLK_DEV_BSGLIB未设置

#CONFIG_BLK_DEV_INTEGRITY未设置

 

#分区类型

#CONFIG_PARTITION_ADVANCED未设置

CONFIG_MSDOS_PARTITION = Y

 

#IO调度

CONFIG_IOSCHED_NOOP = Y

CONFIG_IOSCHED_DEADLINE = Y

CONFIG_IOSCHED_CFQ = Y

CONFIG_DEFAULT_DEADLINE = Y

#CONFIG_DEFAULT_CFQ未设置

#CONFIG_DEFAULT_NOOP未设置

CONFIG_DEFAULT_IOSCHED =“大限”

#CONFIG_INLINE_SPIN_TRYLOCK未设置

#CONFIG_INLINE_SPIN_TRYLOCK_BH未设置

#CONFIG_INLINE_SPIN_LOCK未设置

#CONFIG_INLINE_SPIN_LOCK_BH未设置

#CONFIG_INLINE_SPIN_LOCK_IRQ未设置

#CONFIG_INLINE_SPIN_LOCK_IRQSAVE未设置

CONFIG_UNINLINE_SPIN_UNLOCK = Y

#CONFIG_INLINE_SPIN_UNLOCK_BH未设置

#CONFIG_INLINE_SPIN_UNLOCK_IRQ未设置

#CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE未设置

#CONFIG_INLINE_READ_TRYLOCK未设置

#CONFIG_INLINE_READ_LOCK未设置

#CONFIG_INLINE_READ_LOCK_BH未设置

#CONFIG_INLINE_READ_LOCK_IRQ未设置

#CONFIG_INLINE_READ_LOCK_IRQSAVE未设置

#CONFIG_INLINE_READ_UNLOCK未设置

#CONFIG_INLINE_READ_UNLOCK_BH未设置

#CONFIG_INLINE_READ_UNLOCK_IRQ未设置

#CONFIG_INLINE_READ_UNLOCK_IRQRESTORE未设置

#CONFIG_INLINE_WRITE_TRYLOCK未设置

#CONFIG_INLINE_WRITE_LOCK未设置

#CONFIG_INLINE_WRITE_LOCK_BH未设置

#CONFIG_INLINE_WRITE_LOCK_IRQ未设置

#CONFIG_INLINE_WRITE_LOCK_IRQSAVE未设置

#CONFIG_INLINE_WRITE_UNLOCK未设置

#CONFIG_INLINE_WRITE_UNLOCK_BH未设置

#CONFIG_INLINE_WRITE_UNLOCK_IRQ未设置

#CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE未设置

CONFIG_MUTEX_SPIN_ON_OWNER = Y

CONFIG_FREEZER = Y

 

#系统类型

CONFIG_MMU = Y

#CONFIG_ARCH_INTEGRATOR未设置

#CONFIG_ARCH_REALVIEW未设置

CONFIG_ARCH_SUN7I = Y

#CONFIG_ARCH_VERSATILE未设置

#CONFIG_ARCH_VEXPRESS未设置

#CONFIG_ARCH_AT91未设置

#CONFIG_ARCH_BCMRING未设置

#CONFIG_ARCH_HIGHBANK未设置

#CONFIG_ARCH_CLPS711X未设置

#CONFIG_ARCH_CNS3XXX未设置

#CONFIG_ARCH_GEMINI未设置

#CONFIG_ARCH_PRIMA2未设置

#CONFIG_ARCH_EBSA110未设置

#CONFIG_ARCH_EP93XX未设置

#CONFIG_ARCH_FOOTBRIDGE未设置

#CONFIG_ARCH_MXC未设置

#CONFIG_ARCH_MXS未设置

#CONFIG_ARCH_NETX未设置

#CONFIG_ARCH_H720X未设置

#CONFIG_ARCH_IOP13XX未设置

#CONFIG_ARCH_IOP32X未设置

#CONFIG_ARCH_IOP33X未设置

#CONFIG_ARCH_IXP23XX未设置

#CONFIG_ARCH_IXP2000未设置

#CONFIG_ARCH_IXP4XX未设置

#CONFIG_ARCH_DOVE未设置

#CONFIG_ARCH_KIRKWOOD未设置

#CONFIG_ARCH_LPC32XX未设置

#CONFIG_ARCH_MV78XX0未设置

#CONFIG_ARCH_ORION5X未设置

#CONFIG_ARCH_MMP未设置

#CONFIG_ARCH_KS8695未设置

#CONFIG_ARCH_W90X900未设置

#CONFIG_ARCH_TEGRA未设置

#CONFIG_ARCH_PICOXCELL未设置

#CONFIG_ARCH_PNX4008未设置

#CONFIG_ARCH_PXA未设置

#CONFIG_ARCH_MSM未设置

#CONFIG_ARCH_SHMOBILE未设置

#CONFIG_ARCH_RPC未设置

#CONFIG_ARCH_SA1100未设置

#CONFIG_ARCH_S3C24XX未设置

#CONFIG_ARCH_S3C64XX未设置

#CONFIG_ARCH_S5P64X0未设置

#CONFIG_ARCH_S5PC100未设置

#CONFIG_ARCH_S5PV210未设置

#CONFIG_ARCH_EXYNOS未设置

#CONFIG_ARCH_SHARK未设置

#CONFIG_ARCH_U300未设置

#CONFIG_ARCH_U8500未设置

#CONFIG_ARCH_NOMADIK未设置

#CONFIG_ARCH_DAVINCI未设置

#CONFIG_ARCH_OMAP未设置

#CONFIG_PLAT_SPEAR未设置

#CONFIG_ARCH_VT8500未设置

#CONFIG_ARCH_ZYNQ未设置

#CONFIG_GPIO_PCA953X未设置

#CONFIG_KEYBOARD_GPIO_POLLED未设置

 

#系统MMU

 

#全志平台类型

#CONFIG_AW_FPGA_PLATFORM未设置

CONFIG_AW_ASIC_PLATFORM = Y

CONFIG_SW_POWERNOW = Y

#CONFIG_SW_DRAM_FREQ未设置

 

#处理器类型

CONFIG_CPU_V7 = Y

CONFIG_CPU_32v6K = Y

CONFIG_CPU_32v7 = Y

CONFIG_CPU_ABRT_EV7 = Y

CONFIG_CPU_PABRT_V7 = Y

CONFIG_CPU_CACHE_V7 = Y

CONFIG_CPU_CACHE_VIPT = Y

CONFIG_CPU_COPY_V6 = Y

CONFIG_CPU_TLB_V7 = Y

CONFIG_CPU_HAS_ASID = Y

CONFIG_CPU_CP15 = Y

CONFIG_CPU_CP15_MMU = Y

 

#处理器特性

#CONFIG_ARM_LPAE未设置

#CONFIG_ARCH_PHYS_ADDR_T_64BIT未设置

CONFIG_ARM_THUMB = Y

CONFIG_ARM_THUMBEE = Y

CONFIG_SWP_EMULATE = Y

#CONFIG_CPU_ICACHE_DISABLE未设置

#CONFIG_CPU_DCACHE_DISABLE未设置

#CONFIG_CPU_BPREDICT_DISABLE未设置

CONFIG_MIGHT_HAVE_CACHE_L2X0 = Y

#CONFIG_CACHE_L2X0未设置

CONFIG_ARM_L1_CACHE_SHIFT_6 = Y

CONFIG_ARM_L1_CACHE_SHIFT = 6

CONFIG_ARM_DMA_MEM_BUFFERABLE = Y

CONFIG_ARCH_HAS_BARRIERS = Y

CONFIG_ARM_NR_BANKS = 8

CONFIG_CPU_HAS_PMU = Y

CONFIG_MULTI_IRQ_HANDLER = Y

#CONFIG_ARM_ERRATA_430973未设置

#CONFIG_ARM_ERRATA_458693未设置

#CONFIG_ARM_ERRATA_460075未设置

#CONFIG_ARM_ERRATA_742230未设置

#CONFIG_ARM_ERRATA_742231未设置

#CONFIG_ARM_ERRATA_720789未设置

#CONFIG_ARM_ERRATA_743622未设置

#CONFIG_ARM_ERRATA_751472未设置

#CONFIG_ARM_ERRATA_754322未设置

#CONFIG_ARM_ERRATA_754327未设置

#CONFIG_ARM_ERRATA_764369未设置

#CONFIG_ARM_ERRATA_775420未设置

CONFIG_ARM_GIC = Y

#CONFIG_FIQ_DEBUGGER未设置

 

#总线支持

CONFIG_ARM_AMBA = Y

#CONFIG_PCI_SYSCALL未设置

#CONFIG_ARCH_SUPPORTS_MSI未设置

#CONFIG_PCCARD未设置

 

#内核特性

CONFIG_TICK_ONESHOT = Y

CONFIG_NO_HZ = Y

CONFIG_HIGH_RES_TIMERS = Y

CONFIG_GENERIC_CLOCKEVENTS_BUILD = Y

CONFIG_HAVE_SMP = Y

CONFIG_SMP = Y

CONFIG_SMP_ON_UP = Y

CONFIG_ARM_CPU_TOPOLOGY = Y

CONFIG_SCHED_MC = Y

CONFIG_SCHED_SMT = Y

CONFIG_HAVE_ARM_SCU = Y

CONFIG_ARM_ARCH_TIMER = Y

CONFIG_HAVE_ARM_TWD = Y

CONFIG_AW_TIME_DELAY = Y

CONFIG_VMSPLIT_3G = Y

#CONFIG_VMSPLIT_2G未设置

#CONFIG_VMSPLIT_1G未设置

CONFIG_PAGE_OFFSET = 0xC0000000的

CONFIG_NR_CPUS = 2

CONFIG_HOTPLUG_CPU = Y

CONFIG_LOCAL_TIMERS = Y

CONFIG_ARCH_NR_GPIO = 0

#CONFIG_PREEMPT_NONE未设置

#CONFIG_PREEMPT_VOLUNTARY未设置

CONFIG_PREEMPT = Y

CONFIG_PREEMPT_COUNT = Y

CONFIG_HZ = 100

#CONFIG_THUMB2_KERNEL未设置

CONFIG_AEABI = Y

CONFIG_OABI_COMPAT = Y

#CONFIG_ARCH_SPARSEMEM_DEFAULT未设置

#CONFIG_ARCH_SELECT_MEMORY_MODEL未设置

CONFIG_HAVE_ARCH_PFN_VALID = Y

#CONFIG_HIGHMEM未设置

CONFIG_SELECT_MEMORY_MODEL = Y

CONFIG_FLATMEM_MANUAL = Y

CONFIG_FLATMEM = Y

CONFIG_FLAT_NODE_MEM_MAP = Y

CONFIG_HAVE_MEMBLOCK = Y

CONFIG_PAGEFLAGS_EXTENDED = Y

CONFIG_SPLIT_PTLOCK_CPUS = 4

#CONFIG_COMPACTION未设置

#CONFIG_PHYS_ADDR_T_64BIT未设置

CONFIG_ZONE_DMA_FLAG = 0

CONFIG_VIRT_TO_BUS = Y

#CONFIG_KSM未设置

CONFIG_DEFAULT_MMAP_MIN_ADDR = 4096

#CONFIG_CLEANCACHE未设置

CONFIG_FORCE_MAX_ZONEORDER = 11

CONFIG_ALIGNMENT_TRAP = Y

#CONFIG_UACCESS_WITH_MEMCPY未设置

#CONFIG_SECCOMP未设置

#CONFIG_CC_STACKPROTECTOR未设置

#CONFIG_DEPRECATED_PARAM_STRUCT未设置

CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART = Y

 

#启动选项

#CONFIG_USE_OF未设置

CONFIG_ZBOOT_ROM_TEXT =为0x0

CONFIG_ZBOOT_ROM_BSS =为0x0

CONFIG_CMDLINE =“earlyprintk = ttyS0,115200日志级别= 7 initcall_debug = 0控制台= ttyS0,115200 RAMFS”

CONFIG_CMDLINE_FROM_BOOTLOADER = Y

#CONFIG_CMDLINE_EXTEND未设置

#CONFIG_CMDLINE_FORCE未设置

#CONFIG_XIP_KERNEL未设置

#CONFIG_KEXEC未设置

#CONFIG_CRASH_DUMP未设置

#CONFIG_AUTO_ZRELADDR未设置

 

#CPU电源管理

 

#CPU频率调节

CONFIG_CPU_FREQ = Y

CONFIG_CPU_FREQ_TABLE = Y

CONFIG_CPU_FREQ_STAT = Y

CONFIG_CPU_FREQ_STAT_DETAILS = Y

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE = Y

#CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE未设置

#CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND未设置

#CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE未设置

#CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE未设置

#CONFIG_CPU_FREQ_DEFAULT_GOV_FANTASY未设置

CONFIG_CPU_FREQ_GOV_PERFORMANCE = Y

CONFIG_CPU_FREQ_GOV_POWERSAVE = Y

CONFIG_CPU_FREQ_GOV_USERSPACE = Y

CONFIG_CPU_FREQ_GOV_ONDEMAND = Y

#CONFIG_CPU_FREQ_GOV_INTERACTIVE未设置

&#x

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值