Author Topic: uTaskerSerialBoot fails on cross-compilation step  (Read 4539 times)

Offline Anton

  • Newbie
  • *
  • Posts: 12
    • View Profile
uTaskerSerialBoot fails on cross-compilation step
« on: April 03, 2019, 03:57:09 PM »
Hi,

I'm attempting to compile uTaskerSerialLoader using VS 2017 Professional but it seems that it fails during a call to Build_Kinetis.bat with the following error:

Quote
make: *** No rule to make target `make_uTaskerV1.4_GNU_Kinetis', needed by `Build/serial_loader.o'.  Stop

The strange thing is that Applications\uTaskerV1.4 cross-compiles just fine without any issues.
Both projects are set with `kinetis plus GNU build` options.

Thanks.

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #1 on: April 03, 2019, 05:26:47 PM »
Hi

Which version of the Kinetis project are you using? [open source on GITHUB or professional version on private GIT server?].

Check also the two .bat files in question - is it possible that you modified one of them to include the path of your local GCC tools but not the other?

Regards

Mark

Offline Anton

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #2 on: April 03, 2019, 09:05:39 PM »
Mark,

I've downloaded an evaluation version from private GIT, but haven't used it untill now. Seems that the last commit was on 26th of July, last year.

I've tried to match the contents of both batch files, so they both have the same entry:

Quote
SET PATH=%PATH%;C:\nxp\MCUXpressoIDE_10.3.0_2200\ide\tools\bin
SET PATH=%PATH%;../../../Tools

But for some reason this entry into batch file does not work for uTaskerSerialBoot project.

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #3 on: April 05, 2019, 04:27:57 AM »
Hi Anton

I have reactivated your evaluation account so that you can pull the latest version and see whether it solves the issue or not.
In case you continue having difficulties we can do a short Skype remote desktop session to see what may be the issue on your local machine.

Regards

Mark


Offline Anton

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #4 on: April 06, 2019, 06:41:58 PM »
Mark, thank you! I've just pulled the latest version and will try it out, thanks a lot.

Offline Anton

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #5 on: April 06, 2019, 09:45:57 PM »
Mark,

Just to report back. After I've pulled down new version, the cross-compilation process works and I'm actually able to run bootloader on frdm-k22f board.
I've reviewed ?Tasker – Serial Loader User’s Guide in order to compile bootloader as specified in the in section 4, where SREC mode is enabled and menu is available via UART, but compilation fails once SERIAL_INTERFACE is uncommented with the following error:

Quote
unresolved external symbol _fnPerformBlankCheck referenced in function _fnApplication

but if SERIAL_INTERFACE and KBOOT_LOADER are uncommented, then compilation runs fine and I'm able to access target via KinetisFlashTool. What additional settings I need to adjust to get the same functionality as described in section 4?

The same applies if I attempt to enable, for instance, USB_INTERFACE and USE_USB_CDC which fails on

Quote
unresolved external symbol _fnPerformBlankCheck referenced in function _fnApplication

or USB_INTERFACE  and USB_MSD_DEVICE_LOADER

Quote
unresolved external symbol _fnAddSREC_file referenced in function _fnLoadTerminate


Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #6 on: April 08, 2019, 02:12:14 PM »
Hi Anton

It is a bit of a juggling act to remove some routines (to avoid warnings) in certain combinations but ensure that they are there in others - mainly it is the control of the define NEEDS_BLANK_CHECK in serial_loader that was not always correct.

I just tested various combinations again and hopefully have tuned them better - if you pull the serial loader project files
config.h
serial_loader.c
usb_device_loader.c

you may find that all of the combinations are then OK.

There are a few combinations that don't work - not due to the local define control not being correct but because they are not foreseen and would need code modifications rather than define control tuning. These are:
- USB-CDC together with a KBOOT on UART or KBOOT HID composite
- USB-CDC and the developer's loader on serial

In an emergency, when a local subroutine is missing (not enabled), you can edit its dependency so that it is forced on and so builds. If you tell me which combination causes it I can look into tuning further but I think with the update I just did this will not need to be done.

Good luck

Regards

Mark

P.S. I also attached the files as reference


Offline Anton

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: uTaskerSerialBoot fails on cross-compilation step
« Reply #7 on: April 10, 2019, 06:41:10 PM »
Mark, thanks a lot. Everything works as expected with the new files.