There are two ways to compile the source of ARM9,
Compile in Linux. Because we do not have the licence of rvct2.2 in Linux, cygwin must be used for compiling in Linux. The following are
This article describes how to compile these two methods. In the Linux environment, the compilation is just a little bit, basically the same as in windows.
1) cmd.exe
1) Tools
Rvds (rvct) 2.2.1 bld593
GNU make
GNU awk 3.1.4 or later
Perl 5.8.5 or later
Python 2.4.3
Note: It must be python2.4.3.
Http://www.python.org/ftp/python/2.3.4/
After rvct is installed, the official patch 593 must be installed before normal compilation. After completing the patch, execute the following operations to use the patch ARMCC for compilation:
CD yourmenu/ARM/rvct/programs/2.2/593/win_32-pentium
CP ARMCC TCC
Cp armcc armcpp
CP ARMCC TCPP
Except Python
2.4.3 you must download and install the tool separately. Other tools can be downloaded through cygwin package. Cygwin's default Python version is 2.5, which must be 2.4.3
Replace it. By default, python will be installed in the user/local/bin directory of cygwin, back to python.exe under the/bindirectory, and
Change/local/bin/python2.4.exeto python.exe and add C:/cygwin/usr/local/bin to path.
2) Compile
1. First modify m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build
In/MS, change the environment variables to the correct values (rvct and cygwin installation Directories) and add the variable armtools =
Rvct221
2XX execute m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build/MS/rvct22.bat under cmd.exe
3. Modify m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build
/MS/tsncjnlym. cmd, remove the build_unix and use_build_nativelinux_modem compilation options
4、in cmd.exe enter m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build/MS, execute tsncjnlym. CMD to start compiling Source
3) Problem
Three problems are encountered during compilation. One is the cp936 error reported during Python parsing, and the other is the failure to find the C library caused by-MnO-cygwin, finally, YACC and flex provided by cygwin always exit with a fatal error during analysis.
1. Python
After downloading build_unix, qc uses propgen.exe to parse python, but this will cause the cp936 error because
To be unable to modify the configuration of this executable program, go directly to the m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products
In/76xx/Dal/dal.min, the pythontool is replaced with the python2.4.exe of cygwin.
2.-MnO-cygwin
In this example, the generated .exe does not need to rely on the third-party library cygwin1.dll. All the libraries use the libraries provided by the OS. Because GCC is used in
All executable programs compiled under cygwin depend on cygwin1.dll. To generate an application that does not depend on cygwin1.dll, you can specify this option during compilation.
. However, after this option is specified, cygwin no longer uses the standard library provided by it by default, but uses the standard library provided by mingw for compilation. If your cygwin does not correctly install mingw
The header file cannot be found. Detailed documentation can be referred here: http://www.delorie.com/howto/cygwin/mno-cygwin-howto.html
To solve this problem, either install the mingw standard library correctly or remove this compilation option. Here I removed this compilation option and added the path of cygwin1.dll to path.
3. YACC/flex
This problem was solved by Chen Qi by using the YACC/flex tool in the standard Linux machine. C and. h file, and then copy the corresponding file to the corresponding directory.
Then, modify products/76xx/secboot/pai_data/config_gen.mak to remove the use of flacc and flex, and
Delete the file generated in the clean rule.
Ii. cygwin
1) Same as tools
2) Compile
1. First modify m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build
In/MS, change the environment variables to the correct values (rvct and cygwin installation Directories) and add the variable armtools =
Rvct221
2XX execute m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build/MS/rvct22.bat under cmd.exe
3. Under cmd.exe enter m76xxtsncjnlym4725/HY11-VR356-8_4.7.25/AMSS/products/76xx/build/MS, execute Bash./tsncjnlym. CMD to start compiling Source
3) Problem
1. Because build_unix = Yes, makefile selects the CIFC and hostdl_gen executable programs in Linux, but the cgywin environment does not recognize
The executable program of linuxlinuxcan be used directly, and makefilewill automatically choose cifc.exeand hostdl_gen.exe.
2. Same as above 3)