1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-22 12:54:14 +01:00

11 Commits

Author SHA1 Message Date
Mathieu Rondonneau
5e3e7cc4e3 OP-423 Fix issue with init not properly started in the right order endup up object thinking other where not init. 2011-06-18 17:28:37 -07:00
Mathieu Rondonneau
65cf467ca4 OP-423: move the module initialize funtion into a specific section for OP and CC.
- create linker section for those <module>Initialize()
- later this list will incorporate parameters as well. (this probably will be more a OP feature to swap/remove/delete module on the fly.
- this is not done at compile time anymore by Makefile.
- this will allow us to have control on the module start at run-time (not implemented but build the ground for it).
- this simplify the startup (Part of code re-org).
- this change does not affect sim_posix and win32 (since they don't need that)
- ensure it's compiling for PiOS.posix
- port to PiOS.win32 but not tested (not compiled)
- tested on CC
- compile on OP.
- this free ~200 bytes.
- current avalable bytes (is we keep the same remaining bytes on the stack than before) is easily passed the 1.2Ko mark on CC with new gcc (4.5.2)
- this does not include init-reorg for each module (I still think more can be freed)
2011-06-16 22:13:19 -07:00
Mathieu Rondonneau
c95b199166 OP-423 do the arch specific stuff (in reset vector) to hide this from portable code:
- switch back to MSP stack before starting the scheduler so that the sheduler can use the IRQ stack (when/if needed).
 - call the C portable function in heap1 to claim some stack back (the number to claim is taken from linker file).
 - start the scheduler from reset vector (I move this here from main because it make sense to not go back to C (so that I don't need to copy the rolled stack in case the sheduler returns). This make it more clean.
 - Also I have added the call to the mem manager if sheduler return. that way, we don't reset indefinitely if memory runs out. We will go to this handler and figure things out (right now, it's just looping but at least not rebooting. Probably trap NMI would be better (later improvement).

The part missing for this part is the weak attribute for the function in heap1.c so that we don't have to update everything with empty stub.
I think the weak atrribute for C function called in assembly is arch dependent so I am not sure if this is possible (will look into it, maybe somebody outthere nows).
Right now, it's heap1 dependent and won't work with heap2. I will clean that up the next couple of days.

I did some test and it looks good.
this is without init code re-organization so we don't free as much as we will be it's good starts.

This compile with sim_posix (since it does not affect portable code) so this is really clean.
I only tested this with CC. I will port it for OP when I will work on heap2.
2011-06-13 21:49:17 -07:00
zedamota
a38fbe6cea Make CopterControl firmware non functional when using the ERASE_FLASH=YES compile flag 2011-05-14 19:03:31 +01:00
James Cotton
d3247c9946 Remove unused code from coptercontrol.c 2011-05-07 06:56:20 -05:00
zedamota
5dd8a3eea2 Fix a silly mistake on the CC erase_flash compile flag. 2011-05-01 20:10:27 +01:00
zedamota
3d209f2166 Fix to erase option. Erase must be performed after board initialization. 2011-04-30 14:17:44 +01:00
zedamota
8dd46e1465 Should fix the CC showing as OP.
Added a compile flag to make a CC fw version that will erase flash.

Signed-off-by: zedamota <josembarros@hotmail.com>
2011-04-29 23:38:26 +01:00
peabody124
94ff276522 OP-265 CC: Tweaking objects included and the memory requirements
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2426 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:49 +00:00
peabody124
8a32d88b10 OP-265 CC: More work to get it running
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2425 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:47 +00:00
peabody124
de51286524 OP-266: Rename openpilot.c to coptercontrol.c for CC
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2424 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:44 +00:00