1 | # |
---|
2 | # This board support package works with a target PC |
---|
3 | # |
---|
4 | |
---|
5 | This BSP supports a standard Intel/AMD PC on i386 and up CPUs. If on |
---|
6 | a Pentium or above, the TSC register is used for timing calibration |
---|
7 | purposes rather than relying entirely on the i8254. |
---|
8 | |
---|
9 | Partial support is implemented for more modern PCs which do not have |
---|
10 | a complete complement of legacy peripherals. |
---|
11 | |
---|
12 | Console/Printk Device Selection |
---|
13 | =============================== |
---|
14 | The pc386 console device driver supports a variety of devices |
---|
15 | including the VGA/keyboard and a number of serial ports. The |
---|
16 | default console is selected based on which devices are present |
---|
17 | in the following order of priority: |
---|
18 | |
---|
19 | + VGA and keyboard |
---|
20 | + COM1 through COM4aaa |
---|
21 | |
---|
22 | + Any COM devices on the PCI bus including IO and memory mapped. |
---|
23 | |
---|
24 | Beyond the dynamic probing for device presence, a combination of |
---|
25 | configure and boot time options are available. By default, all devices |
---|
26 | are enabled. The configure time options are: |
---|
27 | |
---|
28 | + BSP_ENABLE_VGA - value of 1 to enable, 0 to disable |
---|
29 | + BSP_ENABLE_COM1_COM4 - value of 1 to enable, 0 to disable |
---|
30 | + BSP_USE_COM1_AS_CONSOLE - value of 1 forces console to COM1 |
---|
31 | |
---|
32 | An example of using these to force the console to COM1 is: |
---|
33 | |
---|
34 | ../rtems/configure --target=i386-rtems4.12 \ |
---|
35 | USE_COM1_AS_CONSOLE=1 --enable-rtemsbsp=pc386 \ |
---|
36 | ... other arguments ... |
---|
37 | |
---|
38 | The --console and --printk options can be used to specify the |
---|
39 | device associated with stdin, stdout, and stderr as well as |
---|
40 | the device associated with kernel debug IO (e.g. printk()/getk()). |
---|
41 | Both take the name of a device without the "/dev/" prefix. |
---|
42 | |
---|
43 | The --console argument is interpreted first and assumed to |
---|
44 | specify the console and kernel debug IO device. The --printk |
---|
45 | is then interpreted to specify the debug kernel IO device. |
---|
46 | For example, |
---|
47 | |
---|
48 | --console=/dev/com1 --printk=/dev/vgacons |
---|
49 | |
---|
50 | specifies that com1 is to be used for stdin, stdout, and stderr |
---|
51 | while the VGA console is to be used for kernel debug IO. |
---|
52 | Note that the lower case com1 is intentional as this maps to |
---|
53 | the RTEMS device /dev/com1. |
---|
54 | |
---|
55 | The device name may be followed by a baud rate. The following |
---|
56 | example illustrates this: |
---|
57 | |
---|
58 | --console=/dev/com1,19200 --printk=/dev/vgacons |
---|
59 | |
---|
60 | If the specified device is not present, then a suitable fallback |
---|
61 | device is selected. The fallback order is based upon the probe |
---|
62 | order listed earlier. |
---|
63 | |
---|
64 | PCI UART devices are /dev/pcicom1 etc as they are probed and found. |
---|
65 | |
---|
66 | GDB |
---|
67 | === |
---|
68 | |
---|
69 | GDB can be support using: |
---|
70 | |
---|
71 | --gdb=/dev/com1,115200 : where the device and baudrate are selectable. |
---|
72 | --gdb-break : halt at a break point in the BSP and wait for GDB. |
---|
73 | --gdb-remote-debug : Output the GDB remote protocol data to printk |
---|
74 | |
---|
75 | The GDB stub details and in shared/comm/GDB.HOWTO. |
---|