Menu

Error: First page of program memory is full, please reduce size of Main and Interrupt routines, Microchip HID USB bootloader on PIC16F1455

Help
2015-03-01
2019-07-16
  • Randall Young

    Randall Young - 2015-03-01

    Howdy folks!

    Experimenting with compiling the Mircochip HID USB bootloader and using my pickit2 to burn it into a PIC16F1455. This (bootloader) seemed to start and run fine in my USB Low Pincount Demo board, and the 2.90 bootloader utility detects the bootloader ok.

    When I attempt to compile a simple blinky...

    '#chip 16F1455, 16
    '#option bootloader 0xb00

    'Main routine
    Start:
    'Turn one LED on, the other off
    SET PORTA.5 ON
    Wait 10 Us
    'Now toggle the LEDs
    SET PORTA.5 OFF
    '2 ms period/500 Hz signal
    Wait 10 us

    goto Start

    I see this error ...

    "Error: First page of program memory is full, please reduce size of Main and Interrupt routines"

    This is very new for me, suggestions anyone?

    Best,
    R.

     

    Last edit: Randall Young 2015-03-01
  • Anobium

    Anobium - 2015-03-02

    Typically your bootloading software will make memory adjustments when loading the chip. Remove #option bootloader ... and see if this compiles, loads and executes as expected.

     
  • William Roth

    William Roth - 2015-03-03

    It seems that '#option bootoader does not allow addresses above 0x7DF. Is this correct?

    '

     
    • Randall Young

      Randall Young - 2015-03-03

      This is what I'm seeing as well...

       
  • Randall Young

    Randall Young - 2015-03-03

    I'm hoping to find a USB boot-loader for this cheap, fast, accurate little PIC compatible with Great Cow ... Here's another candidate.

    https://code.google.com/p/pic16f1454-bootloader/

    Seems stable and fast. See attached requirements for MpLabX for apps compatible with this facility. How do we map to Great Cow?

     
  • kent_twt4

    kent_twt4 - 2015-03-03

    I had good luck with the Tiny Bootloader http://tinypicbootload.sourceforge.net/.

    They have one for the 16f1454/1455/1459. No OPTION Bootloader ORG offset required.

     
  • Randall Young

    Randall Young - 2015-05-13

    Thank you, that's very helpful.

     
  • Gert vd Walt

    Gert vd Walt - 2018-03-22

    Would it be possible to re-visit this? On the 18F the option bootloader offset is no problem, but since more people is using the 16f1459 /5 /4 it might be useful to get this going?

     
  • Gert vd Walt

    Gert vd Walt - 2018-03-22

    And please dont reccomend a serial bootloader...

     
    • Anobium

      Anobium - 2018-03-22

      Pleae elaborate. What is question?

      We are working hand in hard with TinyBootLoader+. It works very well - but, is the answering the right question? :-)

       
  • Gert vd Walt

    Gert vd Walt - 2018-03-22

    I have used the HID USB bootloader for the 16f1459 / 4 / 5 and as mentioned above the option bootloader offset makes great cow basic complain about the first page being full. After searching a while I found another usb bootloader that have an offset of 512 and great cow basic does compile a small program but the moment the program gets bigger it complains about the same thing.

    4.0 Sec. Compiler Version: 0.98.01 2017-10-27 Program Memory: 1531/8192 words (18.69%) RAM: 0/1024 bytes (0.%) Chip: 16F1459

    Anything bigger than that and I get the same error "page one full". On the 18f parts this does not happen, but I really want to use the 16f1459 / 4 / 5 since it is increddibly cheap.

    Thanks for a great free compiler, beggars cant be choosers, but I would like it if you can look at this.

     
  • Anobium

    Anobium - 2018-03-22

    Second call for it the same issue this month.

    Meanwhile simple cut the long piece of code into two subs. Not idea but this will work.

     
  • Gert vd Walt

    Gert vd Walt - 2018-03-22

    Thank you, will give it a try.

     
  • Gert vd Walt

    Gert vd Walt - 2018-03-23

    Just an update: making the program into sub routines did not work. how do I tell breat cow basic where my main program starts and stops? I usually use ether a do.... loop, or a goto label:

     
  • Gert vd Walt

    Gert vd Walt - 2018-03-23

    onother update: it works.... lol
    did it wrong the first time

     

    Last edit: Gert vd Walt 2018-03-23
  • Chris Roper

    Chris Roper - 2018-03-23

    The minimum structure that I use:

    #Chip 16f1459 
    
    ' Initialisation
    
    dim MyVars as int
    
    Do
        ' Main 
    Loop
    
    end
    
    ' Subs and functions here
    
     
  • Gert vd Walt

    Gert vd Walt - 2018-03-23

    tx

     
  • Hanspeter

    Hanspeter - 2019-07-16

    Pleae elaborate. What is question?

    We are working hand in hard with TinyBootLoader+. It works very well - but, is the answering the right question? :-)

    Indeed Tiny Bootloader+ works very well, as I have used countless times, even on LANs to remotely upload new OS.

    Great little bootloader.

     

    Last edit: Hanspeter 2019-07-16

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.