我用自己编写的.build生成.ifs,并将此.ifs覆盖目标机(pc104)的.boot,然后启动pc104,并启动我自己编写的测试程序(测试pc104的串口1、串口2工作,使用终断的方式收发数据),但发现只有串口1能正常收发数据,串口2不能接收数据。我猜想有可能是我的.build编写存在问题(对串口的支持),但又不知问题出在那里,请各位大侠指点!!!我的.build如下:
[virtual=x86,bios +compress] .bootstrap = {
startup-bios
PATH=/proc/boot:/bin LD_LIBRARY_PATH=/proc/boot:/lib:/dll procnto
}
[+script] .script = {
pci-bios &
devc-con &
reopen /dev/con1
Disk drivers
devb-eide blk cache=2m,automount=hd0t77:/,automount=cd0:/cd &
Wait for a bin for the rest of the commands
waitfor /x86 10
Some common servers
/sbin/pipe &
/sbin/mqueue &
/sbin/devc-ser8250 &#new
/sbin/devc-pty &
Start a debug server for debugging programs
waitfor /dev/ser1
These env variables inherited by all the programs which follow
SYSNAME=nto
TERM=vt100
protransprj &
Start the main shell
[+session] esh
&
io-graphics -g640x480x8 -dldevg-vga.so -Pvga4.pal
sleep 2
}
make /tmp point to the shared memory area
[type=link] /tmp=/dev/shmem
Redirect console messages
[type=link] /dev/console=/dev/ser1
Programs require the runtime linker (ldqnx.so) to be at
a fixed location
[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so
Add for HD support
[type=link] /usr/lib/libcam.so.2=/proc/boot/libcam.so
add symbolic links for bin, dll, and lib
(files in /x86 with devb-eide)
[type=link] /bin=/x86/bin
[type=link] /dll=/x86/lib/dll
[type=link] /lib=/x86/lib
We use the C shared lib (which also contains the runtime linker)
libc.so
Just in case someone needs floating point and our CPU doesn’t
have a floating point unit
fpemu.so.2
Include the hard disk shared objects so we can access the disk
libcam.so
io-blk.so
For the QNX 4 filesystem
cam-disk.so
fs-qnx4.so
For the CD-ROM filesystem and the PCI
cam-cdrom.so
fs-cd.so
pci-bios
Copy code and data for all executables after this line
[data=copy]
Include a console driver, shell, etc.
esh
devb-eide
devc-con