Hey folks, I'm having some more difficulty in getting my software built using make and the realview tools on the command line. I am able to build a source tree into an image, load it onto the board, debug it, and run the board outside the debugger, and interact via the serial connection. In short, the software/hardware works in general. I then take the compiler/assembler/linker control strings from the project options dialog and drop them into my makefile. The command line echos from the make output is consistent with this dialog. However: when using uVision, my software works when 'cross module optimization' is enabled, but it does NOT work when this option is not enabled. I'm really confused as to why this is (basically it goes off into neverneverland without this optimization- I haven't debugged it- not my primary concern right now). So, obviously, the --feedback clause is important. This feedback file is the assembler/compiler's way of giving the linker the info to do the cross-source-file optimization as far as I can guess. When I build my image using make, every source file tells me the same thing: Warning: C3052E: couldn't read file 'obj\nms3.fed': No such file or directory the obj directory exists, but is empty at build start. I would THINK that the compiler and assembler should create this file if it doesn't exist. It doesn't seem to. I do NOT see this error when building inside uVision. How does this file get created in that case? I have tried creating an appropriate empty file, this gets rid of the error, but the file stays empty, whereas if built by uVision, it contains lots of stuff. Pointers appreciated. Steve
Use the option Project - Option - Output - Create Batch File. Then rebuild the complete project. After this the Batch file contains all commands that are required to rebuild the software outside of uVision. For the problem with the --feedback file, I have no explanation. You really need to track down the problem using the debugger.
Excellent. This is exactly what I was looking for. Thanks, Steve