Menu

Free and Open Source tool-chain for PIC MCUs supported in SimulIDE?

2019-02-15
2019-02-15
  • Foad S. Farimani

    Having my early model tested using the MCU dev-boards, now I want to move on to the MCU itself. I have created a list of affordable MCUs in my reagion. But I'm not sure how should I get to the hex file required by SImulIDE. I know C99 and Python3.x and could find my way around C++, but not any of other pecular high level languages I have mentioned here or low level assembly. I have also found SDCC and these examples for PIC16F886 PIC18F2550, from which the later I have found in the list of SimulIDE PIC MCUs. So my questions are:

    • Considering that SimulIDE's PIC simulation is based gpsim, does it support all PIC MCUs it supports?
    • For which one of the SimulIDE supported PIC MCUs there is a FOSS toolchain availbel? the issue with PIC18F2550 in particular is that it is gaigantic for the pourpose I need and a huge overkill. I prefer an MCU with 8-pins 6-I/O.

    Thanks for your help in advance.

     
  • Santiago

    Santiago - 2019-02-15

    Some PICs are supported in Gpsim but noy yet in simulide.

    SDCC has limited support for mediun range PICs, you can do many things, but main problem is lack of libraries, better for 18F series.

    It's a long time i don't play with PICs, but i remember about JALv2... just another option with some libraries.

    Maybe some other user has better knowledge about this.

    Regards.

     
    👍
    1
    • Foad S. Farimani

      Thanks for the response and my aplogies for miss explaning myself. It doesn't actually have to be Microchip-PIC MCU. As afar as it is supported in SumulIDE, has the features I have explained here and there are FOSS toolchain available it is ok. So maybe I should look at ATMEL AVR chips? I belive former ATMEL was more keen towards FOSS and there are pleanty of FOSS compailers and other compniets I have listed here.
      About Jal (not?) Just Another Language which I have also mentioned in my FOSS list, It is great except it is a PASCAL like languege. I perefer to stick to the C like high level languages as much as possible.

      As a side note, I know you have already mentioned that you don't want SimulIDe to get bloated with unnessary features, but still it would be great if common FOSS toolchains could be integrated. For example I could just load the C/C++ code instead of the hex file and then based on th eMCU or the board selected SImulIDE runs the right make commands and generate the hex file as well.

       

      Last edit: Foad S. Farimani 2019-02-15
      • Santiago

        Santiago - 2019-02-15

        Yes, i think there are better FOSS options, libraries and info about AVR than about PIC.

        About loading the C/C++ code instead of the hex file:
        Compiler commands and options can be very diferent from one project to another, and sometimes you need several build steps.
        There is not a simple way to address this complexity.

        One option would be a widget to enter this data, but it would be very limited and writing that in a makefile is almost the same work for the user and covers any possible build case.
        You can compile makefile based projects in simulide: just load a makefile and press compile button.
        Load hex file, then press upload button.
        There is still some room to improbe this makefile based aproach and i'm thinking about it.

        About working with Arduino files, i see the current aproach good enought:
        Open ino file, work in it and press upload button (it will compile and upload)... test results, do more changes and press upload button... that's the ussual workflow.
        Hex file will be copied to circuit folder in next release (already done in development version).

        loading a high level source file doesn't fit in the current state of simulide, but i will think about it.

         
        👍
        1
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.