Nokia N800开发经验

本文详细记录了作者在Nokia N800上进行嵌入式Linux开发的过程,包括搭建交叉编译环境、编写hello模块和定制模块化内核。首先介绍了N800的主要设备芯片和硬件规格,然后逐步讲解如何通过USB连接N800和Fedora 13开发PC,并使用SSH登陆。实验一涉及交叉编译hello模块,验证开发环境的正确性;实验二则深入到内核定制,将触摸屏和小键盘驱动改为模块加载。文章提供了完整的配置和编译步骤,旨在为后续开发者提供参考。
摘要由CSDN通过智能技术生成

原文出处:刘建文 | 学术半·IT歌·文(http://arttech.us)

 

我是一位理论帝,想问题做事情更多的会从形而上的角度入手。这个结论的证据之一,是从我研究学习嵌入式Linux近一年后才决定购一台掌上电脑做实验。年初的时候就有朋友建议我购一块开发板,通过做实验快速掌握开发技术。但我并不以为然,首先,我认为基本功更重要,开发技术可短期内习得;什么是基本功,对内核结构的深度把握,对硬件的透彻理解;其次,我想我花三五百购块开发板做完后还有什么用?前一个想法的结果是十月底我才购一台机器做实验,后一想法的结果是我购的是诺基亚的n800,而不一次性的祼机板。

到目前为止我在n800上做了两个简单的实验,本文记录实验全程,不求同和,但求录之以照后来人。

第一个实验交叉编译一个hello模块到n800上,验证开发环境和开发硬件等的可用性;第二个实验是定制一个新内核到n800上,新内核中触摸屏和小键盘以模块形式加载,而非默认的内置。

Nokia N800 设备元信息

  • OMAP2420 microprocessor with a native speed of 400 MHz
  • Memory : 128 MiB of RAM and 256 MiB of flash memory
  • Connectivity : IEEE 802.11 b/g, Bluetooth 2.0 (DUN, OPP, FTP, HFP, HID profiles as well as A2DP/AVRCP and PAN via third party emulation), and USB 2.0 OTG high-speed.
  • Display & resolution: pressure-sensitive resistive touch-screen LCD 4.1 inches 800×480 at 225 dpi
  • Expansion : 2 full-sized Secure Digital card slots
  • Camera : built-in pop-up rotating webcam.
  • Audio : microphone, stereo speakers, FM radio tuner, 3.5-mm headphone jack (compatible with standard stereo headphones, but also containing a fourth pin with microphone input).

主要设备芯片(控制器)型号

  • OMAP2420 N8x0 System-on-chip
  • TMS320 C55x N8x0 DSP
  • OMAP video N8x0 Video output
  • PowerVR MBX N8x0 OpenGL ES and OpenVG acceleration
  • OMAP Boot Tags N8x0 Provides boot information from bootloader (NOLO)
  • OMAP MMC N8x0 SD/MMC cards
  • tcm825x N8x0 Webcam + i2c bus
  • tea5761 N800 FM radio
  • blizzard N8x0 LCD controller
  • menelaus N8x0 GPIO extender + i2c bus + ???
  • tmp105 N8x0 Temperature sensor (menelaus GPIO)
  • McSPI N8x0 SPI bus
  • Sharp LS041Y3 N8x0 LCD panel (compatible with MIPID)
  • cx3110x / stlc4550 N8x0 802.11b/g WiFi
  • tsc2301 N800 Touchscreen + Keypad + GPIO + Audio
  • OneNAND N8x0 Flash memory
  • TUSB6010 N8x0 USB

开发过程

  • 搭建开发环境
    • 定义项目布局
    • 搭建交叉编译开发环境
    • 通过USB互联n800和开发PC
  • 实验一——hello测试模块
  • 实验二——定制模块化内核
    • 编译内核及驱动模块
    • 修改initramfs
    • 烧制

搭建开发环境

定义项目布局

  • 项目主目录:~/n800
  • kernel src:~/n800/maemo/kernel-source-diablo/kernel-source
  • 交叉编译工具链:~/n800/cross-tools
  • 辅助构建工具:~/n800/build-tools
  • 测试项目:~/n800/projects/hello_module | modulize_kernel

搭建交叉编译开发环境

1. 下载maemo4.1源码和补丁 :

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值