0

最近,我买了一块 FL2440(带 4.3" LCD)板,我遇到了一个奇怪的问题:

主机:处理器 - DualCore,操作系统 - Ubuntu 目标板:FL2440,带 4.3" LCD

我使用串行调试电缆将板与 PC 连接,在主机上配置/运行 minicom 并为板加电。

情况1:

我在 minicom 控制台上获得了 FL2440 引导加载程序菜单,但是当我按下特定选项(例如 1 或 2)时 - 引导程序提示有时显示我已按下键 0 并因此执行相应的功能。换句话说,引导加载程序提示符下的键盘键解释变得不同。以下是日志:

 +------------------------------------------------------------+
 |                     Select Menu                            |
 +------------------------------------------------------------+
 | [0] Download & Run                                         |
 | [1] Download to flash                                      |
 | [2] Download From UART                                     |
 | [3] Boot My Application                                    |
 | [4] Boot Linux                                             |
 | [5] Boot Wince                                             |
 | [6] Erase Flash Partition                                  |
 | [7] Config parameters                                      |
 +------------------------------------------------------------+

Download&Run is selected.

[Above, I typed the key 4 but bootloader menu misinterpret it to 0]

案例二:

如果我启动 linux,那么在 linux 提示符下我经常会遇到这个问题。例如

在 linux 提示符下,如果我按 p 则提示显示我已按 `

以下是日志:

 +------------------------------------------------------------+
 |                     Select Menu                            |
 +------------------------------------------------------------+
 | [0] Download & Run                                         |
 | [1] Download to flash                                      |
 | [2] Download From UART                                     |
 | [3] Boot My Application                                    |
 | [4] Boot Linux                                             |
 | [5] Boot Wince                                             |
 | [6] Erase Flash Partition                                  |
 | [7] Config parameters                                      |
 +------------------------------------------------------------+
NAND ID is 0xadda 
Set boot params = root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttySAC0,115200 mem=65536K devfs=mount display=sam320 
Load Kernel...
Uncompressing Linux................................................................................................................... done, booting the kernel.
Linux version 2.6.28.7 (root@localhost.localdomain) (gcc version 3.4.1) #336 Tue May 12 08:40:50 CST 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2410
ATAG_INITRD is deprecated; please update your bootloader.
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
MM: CPU does not support supersection mapping for 0x55000000000 at 0xf0d00000
S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
S3C24XX Clocks, (c) 2004 Simtec Electronics
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttySAC0,115200 mem=65536K devfs=mount display=sam320 
irq: clearing pending ext status 000d0000
irq: clearing subpending status 000000b7
irq: clearing subpending status 00000092
PID hash table entries: 256 (order: 8, 1024 bytes)
timer tcon=00500d00, tcnt a2c1, tcfg 0000020f,00000030, usec 00001eb8
Console: colour dummy device 80x30
console [ttySAC0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61132KB available (3284K code, 312K data, 136K init)
Calibrating delay loop... 199.47 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
S3C244X: Clock Support, DVS off
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (extended precision)
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
yaffs May  8 2009 10:19:56 Installing. 
msgmni has been set to 119
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Console: switching to colour frame buffer device 40x30
fb0: s3c2410fb frame buffer device
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
Serial: 8250/16550 driver4 ports, IRQ sharing enabled
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
loop: module loaded
Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)
eth0: incorrect signature 0x000f
dm9000 Ethernet Driver, V1.31
eth0: dm9000a at c487a300,c487e304 IRQ 51 MAC: 00:12:34:56:80:49 (chip)
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
ide-cd driver 5.00
Driver 'sd' needs updating - please use bus_type methods
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns
NAND device: Manufacturer ID: 0xad, Chip ID: 0xda (Hynix NAND 256MiB 3,3V 8-bit)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 549 at 0x044a0000
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x00100000 : "Boot"
0x00140000-0x00500000 : "MyApp"
0x00500000-0x00800000 : "Kernel"
0x00800000-0x04400000 : "fs_yaffs"
0x04400000-0x08000000 : "WINCE"
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
s3c2410 TouchScreen successfully loaded
input: s3c2410 TouchScreen as /class/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2440-sdi s3c2440-sdi: host detect has no irq available
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
s3c2440-sdi s3c2440-sdi: running at 196kHz (requested: 195kHz).
s3c2440-sdi s3c2440-sdi: powered down.
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
mapped channel 10 to 2
mapped channel 9 to 1
UDA1341 audio driver initialized
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
usb 1-1: new full speed USB device using s3c2410-ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem).
Freeing init memory: 136K

init started: BusyBox v1.6.0 (2008-01-09 17:10:28 CST) multi-call binary

starting pid 903, tty '': '/etc/init.d/rcS'
mount: mounting none on /dev/pts failed
mount: mounting tmpfs on /dev/shm failed
dm9000 dm9000.0: WARNING: no IRQ resource flags set.
eth0: link down
ifconfig: SIOCSIFADDR: No such device

Please press Enter to activate this console. [9;0][?33l[?25lCould not read calibration: /etc/pointercal
Warning: Need to run firstuse
Warning: language message - en_US
Warning: and its not null
Warning: loading /usr/i18n/en_US/qt.qm
Warning: loading /usr/i18n/en_US/qpe.qm
Warning: loading /usr/i18n/en_US/libqpe.qm
Warning: loading /usr/i18n/en_US/libqtopia.qm
Warning: loading /usr/i18n/en_US/language.qm
Warning: loading /usr/i18n/en_US/timezone.qm
Warning: loading /usr/i18n/en_US/systemtime.qm
^L

starting pid 910, tty '': '/bin/sh'
# `w`
-sh: `w`: not found
# 
[Above, I typed the command pwd] >>>>>> **ISSUE***
# 
# Hb
-sh: Hb: not found
[Above, I typed the command ls]  >>>>>> **ISSUE***
# 
# 
# b@
-sh: b@: not found
# 
[Above, I typed the command cd]  >>>>>> **ISSUE***
#

一般来说,我无法从键盘发出命令,因为键被 FL2440 板误解了

我还尝试了 HyperTerminal 和 DNW(在 Windows 机器上),即使我更换了键盘,但也出现了同样的问题。

由于这个问题,我无法使用 FL2440 板。

需要您的帮助/建议(提前致谢)

4

1 回答 1

0

我用的是TQ2440,并成功上传了一张图片。您可以尝试我的文章的链接,了解如何从 Windows PC 进行操作。总结一下,

  1. 使用串行端口和 USB 端口连接电路板。
  2. 安装设备随附的 USBDownloadDriver 并运行 DNW.exe 以安装映像。
  3. 打开超级终端(或您正在使用的任何终端仿真器,例如screen)并将其配置为 115200 8-N-1。
  4. 打开设备电源并立即按空格键。引导加载程序菜单将打印到您的终端仿真器。
  5. 按 9 选择“Format Boot Media for BinFS”,按 B 选择“Mark Ba​​d Block at Reserved Block”,然后按 U,屏幕将显示 USB 已连接。
  6. 转到DNW.exe,选择传输,然后选择要下载的图像文件。

显然,如果您使用的是 Ubuntu,则需要通过 Wine 运行它,或者找到一个与 DNW.exe 完成相同操作的 Linux 程序。

此博客文章中提供了更多详细信息,包括每个步骤的屏幕截图。

于 2012-07-24T08:51:27.840 回答