This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

question about launch BL51.EXE

for some SQA task, I moved the 'Keil' folder from the origional place to another one. then I modify the project (.uv2) file, changed EnvBin\Inc\Lib to the new location.

then I try to build the project from command line by "uv2 -b .\project.uv2"
then it will launch the GUI first, and compile all source files. but whenever it step into the link phase, it will fail.

here is the error output
--- Error: can't execute 'e:\Temp\Keil\C51\BIN\BL51.EXE' Target not created

so I think bl51.exe might depend on some other system files or some configuration uses absolute path.

why I have to launch it from another location is just because to ensure we have same build environment of development team and testing team, we want to set up environment-independent build environment. such as you can create your workspace. then you enter it and do build job. no dependencies with outside files or settings.

so idealy I want to extract one sub set of build utilities of Keil. then I can use them to build our projects from command line.

now, for compilation it's ok, but the linker cannot work any more.
who can help me to solve this problem?

Parents
  • "I think I can compile or link by calling compiler or linker directly."

    Yes you can: each of the individual tools - Compiler, Assembler, Linker, etc - is a separate Win32 executable.
    The uVision options dialogues show you the set of options being passed to each tool.
    You can incorporate that into a makefile or batchfile if you wish

    "but how can I build the whole project by calling one command?"

    See the uVision command-line options described in the Manual

    "such as we can creat makefile for c/c++ projects under Unix"

    See above.

    "... .uv2 files. I think they are a little like makefiles"

    Not really - they don't contain any of the dependency information (uVision deduces this itself).

    Your problem with the linker, as I said initially, is that you have corrupted the installation by arbitrarily moving random files about: re-instal it properly, and it'll work again!

Reply
  • "I think I can compile or link by calling compiler or linker directly."

    Yes you can: each of the individual tools - Compiler, Assembler, Linker, etc - is a separate Win32 executable.
    The uVision options dialogues show you the set of options being passed to each tool.
    You can incorporate that into a makefile or batchfile if you wish

    "but how can I build the whole project by calling one command?"

    See the uVision command-line options described in the Manual

    "such as we can creat makefile for c/c++ projects under Unix"

    See above.

    "... .uv2 files. I think they are a little like makefiles"

    Not really - they don't contain any of the dependency information (uVision deduces this itself).

    Your problem with the linker, as I said initially, is that you have corrupted the installation by arbitrarily moving random files about: re-instal it properly, and it'll work again!

Children
No data