Wednesday, April 2, 2008
port Nuc to Davinci EVM DM6446
1) RBL loads the UBL. RBL can load UBL of size upto 14KB in DM6446.
2) So i need to write my own UBL or get the source code of UBL and modify it as per my requirement. if i cannot get UBL source code from TI's site ..i can have u-boot which i think is open and is available in linux sites.
3) after that i have to change the kernel code ...int.s , tct.s,tmt.s
Windows CE Build process
When I started working with win CE drivers, i had no time to understand the WinCE build process. All I did was, follow some build procedures and get my driver up and running without knowing much the build process. I think its time to investigate it.
In Platform Builder, when you choose to build a run-time image based on an operating system (OS) design, the build system executes four sequential phases:
Each phase also executes a secondary phase defined as the Localize phase, when resources and executables are translated into selected locales. For more information about localization, see OS Localization.
1) The Compile Phase: - Turns C code into libraries.
During the Compile phase, the compiler (Build.exe) and the linker use source code files to generate static libraries. These libraries are linked during the Sysgen phase to create executable files.
Microsoft runs a tool named cebuild to do this. It will first run 'build' on \private\winceos, and then on public\winceos, then it will run sysgen (see step 2). Information about cebuild can be found in (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcepb40/html/_wcepb_windows_ce_build_environment_tool.asp)
Localization tasks performed during this phase include compiling resource script (.rc) files to create binary resource (.res) files, which are translated based on the selected locales.
2) SYSGEN PHASE: Turns libraries into DLL's, based on which libraries are required for componentization.
During the OS design generation, or Sysgen phase, the build system sets or clears Sysgen variables.
The inclusion of Sysgen variables is typically based on the selection of Catalog items that you include in your OS design. The relationship between Sysgen variables and Catalog items can vary. A Catalog item might correspond to more than one Sysgen variable.
The build system determines which variables to set or clear by processing the Cesysgen.bat files associated with the OS design, which are in %_WINCEROOT%\PBWorkspaces\<OS Design name>\Oak\Misc.
The master Cesysgen.bat file manages a set of subordinate batch files that correspond to the dependency trees included in the OS design. The build system uses these variables to link the corresponding static libraries into modules.
The build system also filters the header files, creating headers that only contain prototypes for the functions exported by your OS design. Import libraries for the modules are also created during this phase.
The filtered header files and import libraries are included in the software development kit (SDK), which others can use to create applications that run on the new OS.
Also, OS design configuration files are filtered to create a new set of configuration files specific to your OS design, which are used in the Make Image phase.
At the end of the Sysgen phase, the board support package (BSP) is built.
Localization tasks performed during the Sysgen phase include selection of input method editors (IMEs) and fonts for Asian languages, based on the selected locales.
Environment variables and actions are executed on a per project basis, which means that environment variables you set in one project do not affect variables defined by another project.
In all other build phases, variables are defined globally.
You can set global environment variables on the Environment page in the Property Pages dialog box. For more information, see OS Design Property Pages: Environment and Setting or Clearing an Environment Variable (Visual Studio).
For information about setting project-specific environment variables, see Subprojects: General Settings.
3) The Release Copy Phase or BUILDREL: Copy all the DLL's from stage 2 into a central location.
During the Release Copy phase, the build system copies all files that you need to make a run-time image to the release directory. The modules and files created during the Sysgen phase are copied to this directory first, followed by the files created in the Compile phase.
Note: During the Release Copy phase, binary image builder (.bib) and registry (.reg) files are propagated to the Release directory. However, if your headers and libraries are up-to-date, this phase might not be executed. If you make changes in these files, verify that Copy Files to Release Directory After Build and Make Run-Time Image After Build are selected; then from the Build menu in Platform Builder, run Build and Sysgen to ensure propagation of the changed files.
4) The Make Run-Time Image Phase or MAKEIMG: Munge all the DLL's, registry settings, etc... into a ROM image.
During the Make Run-Time Image phase, the files in the release directory are combined to create a run-time image, typically named Nk.bin.
At the beginning of the phase, the project-specific files, which include Project.bib, Project.dat, Project.db, and Project.reg, are copied to the release directory.
Localization tasks performed during this phase include the attachment of resources to executables and string substitutions for configuration files, based on the selected locales. For more information, see Make Binary Image Tool.
This phase corresponds to the Make Run-Time Image command on the Build menu.
If you modify the project-specific files, or otherwise modify files in the Release directory, you must run the Make Run-Time Image command before the changes are reflected in your run-time image. For more information, see Building a Run-Time Image.
After the run-time image is created, you can download it to a target device. For more information, see Downloading a Run-Time Image.
For information about creating and building a run-time image using the IDE, see How to Use the IDE to Create, Customize, and Build a Run-Time Image.