Книга: Embedded Linux development using Eclipse
5.4.2 The Cross-Development Environment
5.4.2 The Cross-Development Environment
Very often a target board stores its root file system in a non-volatile or “semi-volatile” medium such as flash memory. This can make it difficult and time-consuming to load executable images onto the target for testing. This is especially true in early stages of testing, where the edit-compile-debug cycle turns rapidly.
The development paradigm we’ll follow here makes use of the Network File System (NFS) to remotely mount part (or even all) of the target’s file system on the host workstation. Then we simply put our target executables in a location on the host that’s visible to the target, which then loads the image off the host and executes it.
Figure 5.8 illustrates the process graphically. The /home directory on the target is remotely mounted through NFS to ~/workspace
, the default Eclipse workspace. Now all the project subdirectories of ~/workspace
on the host show up as subdirectories of /home
on the target. The serial port serves as the target shell’s console communicating with the minicom terminal emulator running on the host. Technically, you could telnet to the target shell and get by without the serial port, but in many cases a serial port is still necessary to communicate with the target’s boot loader.
Figure 5.8: Cross-development paradigm.
- 12.1. Cross-Development Environment
- 15.2. Remote (Cross) Debugging
- 5.1 Software Development Tools
- Further Development
- Testing the Project
- Future development
- 4.4.4 The Dispatcher
- About the author
- Chapter 7. The state machine
- Appendix E. Other resources and links
- Example NAT machine in theory
- The final stage of our NAT machine