Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Licensing and some questions [solved]
#1
(Chip mostly 33FJ128MC510, some MC804s)

I'm looking into the loader for a work related application.

The strong points are the low degree of mutation to existing projects, the checksum/verify options, PC tooling (pity about the .NET though, will have to install .NET onto our legions of XP machines in the field) and basic protection. Also the general cleanliness impresses.

We want the bootloader protection to prevent user error btw, not so much for IP protection, so while hw protection using Codeguard looks interesting, it seems one then always needs the boot segment first in memory, requiring linker file adaption? Is that why dsloader doesn't implement it?

The first issue however is the prominent GPL license. I worry/wonder about the wellknown viral clause of this license. E.g. combining a project of bootloader with application would then "link" both into the same file, thus invoking the GPL viral clause. One could probably discuss if this really constitutes linking, but if such limitations are not the purpose of the license, some clarification would be nice. (and I suggest LGPL instead of GPL).

Since I'm more confortable with C then with dsPIC 16-bit assembler, I wonder if sb managed to do the initialization (of e.g. oscillators) in C. Otherwise, I'll have to learn yet another assembler language:-)

Another mod I'll need is to only go into bootloader if a button is pressed on startup. This because because the PC and controller are 30 meters apart (rs422), and I thus need a long timeout (30s+ or even near indefinitely) to allow for walking. To avoid an accidental power outage triggering a long timeout, I only want to enter bootloader mode when the button is held.

If sb has already done something like that, I'd be grateful. (mostly to look at the assembler, I know how to do it in C)
Reply
#2
Apparantly I had a bad day yesterday, since I missed the license clarification on the site, and didn't think about the possible consequences of C in the bootloader (using CRT twice + need for CRT/script modification?)

Anyway, I bit the bullet and went ahead with the assembler., and it went fairly fast. I looked at the delay code, and if I calculated correctly timeouts can be about 11 minutes (@40MIPS), which should be more than enough.

Reply
#3
Hi,
Thank you for the feedback! Glad you noted and like the cleanliness.

I want the ds30 Loader to be as generic as possible, that's why it isn't located in the boot area.
Not all PICs have a boot area and as you say it requires a customized linker script.

The only weak point is from page 0 erase to row 1 write, approximately 20 ms for dsPIC33.
If there's a power outage the goto at 0x00 will be destroyed.

What does sb mean?
Reply
#4
(2011-03-23, 19:37:48)Mikael Gustafsson Wrote: The only weak point is from page 0 erase to row 1 write, approximately 20 ms for dsPIC33.
If there's a power outage the goto at 0x00 will be destroyed.

Clear, thank you.

Meanwhile we decided to not roll out the bootloader to clients running XP as a rule. Too much hassle to have them install .net etc, and we can still install it selectively by the few clients where it really matters.

Half of the machines are virgins (sub SP2), and I'm not even sure if a modern .NET runtime installs on anything but sp2.

Quote:What does sb mean?

Short for "Somebody" in some maillists and forums. Another common one is btw, "by the way".
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)