7 Replies Latest reply on Sep 2, 2016 2:48 AM by revence27

    D2000 Software Serial


      Hello, all;


      I was wondering if there is a software serial library for the D2000 already, somewhere.

      If there isn’t one, and I need more than just the two serial ports that are provided in hardware, should I consider it tenable to write one (probably only using GPIO interrupts)? If I write one, are there any gotchas to watch out for? —Or is there a software serial library for the D2000 already, somewhere?

        • 1. Re: D2000 Software Serial

          Hello revence27,


          Unfortunately no, there's no software serial library for the D2000. You can find the current documentation of the D2000 in issm_XXXX.X.XXX\firmware\bsp\1.1\doc\ (C:\issm_XXXX.X.XXX\firmware\bsp\1.1\doc\ on Windows), you should check the folders called html and pdf. The html folder includes all the information about the current API, in that section I suggest you to check group__groupUART.html in order to see the D2000's UART capabilities. In pdf you will find more technical information about the D2000's Microcontroller Software Interface 1.1.


          I hope this information helps you.


          • 2. Re: D2000 Software Serial

            Hello, Peter;


            I regularly get the ISSM toolchain from here:



            I have the latest download for Linux from that link.

            Now, one thing I know about that download is that it unpacks to something like (using tree -L 3):

            issm-lx ├── licensing │   ├── eula.txt │   └── third-party-programs.txt ├── readme.txt ├── tools │   ├── compiler │   │   ├── gcc-arc │   │   └── gcc-ia │   ├── debugger │   │   ├── gdb-arc │   │   ├── gdb-ia │   │   └── openocd │   ├── python │   │   ├── bin │   │   ├── include │   │   ├── lib │   │   └── share │   └── utils │       └── install_driver.sh └── version.txt

            The content of that version.txt is:

            Archive Created: 2016-05-12 13:55  ARC Toolchain SHAs -- GCC      - eac2ef4517fbb3c01c6ec0546df51702ffe24c41 - https://github.com/foss-for-synopsys-dwc-arc-processors/gcc CGEN     - eda052d5db32004d4a0d62b86d80072132c2c855 - https://github.com/foss-for-synopsys-dwc-arc-processors/cgen NEWLIB   - d29df8eea94deda85a42f3f6e4ef36dd0b93c883 - https://github.com/foss-for-synopsys-dwc-arc-processors/newlib GDB      - 9ee9b7212ea0068190a4becc8d788e752cc7aec9 - https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb BINUTILS - bcbe0bfce780e426f2e3b78013cb49326ee76824 - https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb


            Now, there is another version of this ISSM that I have earlier, and the only one in which I found a BSP, and it looks like this (with tree -L 2):

            issm ├── docs │   ├── get_started.htm │   ├── issm_help │   ├── issm_user_ref_guide.htm -> issm_help/index.htm │   └── resources ├── eclipse │   ├── about_files │   ├── about.html │   ├── artifacts.xml │   ├── configuration │   ├── eclipse │   ├── eclipse.ini │   ├── epl-v10.html │   ├── features │   ├── notice.html │   ├── p2 │   ├── plugins │   └── readme ├── firmware │   ├── bsp │   └── lib ├── hs_err_pid31329.log ├── iss_mcu_ide_eclipse-launcher ├── issm_env.sh ├── issm.log ├── licensing │   ├── EULA.pdf │   ├── EULA.rtf │   ├── redist.txt │   ├── support.txt │   └── third-party-programs.txt ├── tools │   ├── compiler │   ├── debugger │   └── utils ├── uninstall │   ├── 32e │   ├── amultiroot_layer.cab │   ├── images │   ├── install.cab │   ├── licenses │   ├── markers │   ├── mediaconfig.xml │   ├── tinycrypt_layer.cab │   └── uninstall.ini ├── uninstall_GUI.sh ├── uninstall.sh └── workspace

            But this setup, though it is the only one where I get a BSP when I need one (such as to flash the board’s ROM from 0x00000000). I never got a BSP other than this one.

            I have never seen the version 1.1 BSP that you allude to above. If you can point me where my setup is wrong, or where I can get the correctives, that would be greatly appreciated.


            (I have noticed the formatting of the forum is weird, so I am attaching my tree dumps as TXT files.)

            • 3. Re: D2000 Software Serial

              I'm afraid that I'm not following you. What I meant in my previous reply is that the documentation of ISSM is stored on the ISSM install files. If the BSP 1.1 doesn't appear on your files, then you probably have an outdated version of ISSM. I suggest you to install the newest version of ISSM, which can be downloaded from the following site: https://software.intel.com/en-us/intel-system-studio-microcontrollers.


              The information I recommended you before is available on the installation directory, specifically under: C:\issm_XXXX.X.XXX\firmware\bsp\1.1\doc\ on Windows or in [Install_Path]/issm_XXXX.X.XXX/firmware/bsp/1.1/doc/ on Linux. The API available there contains, among other things, information about the D2000's UART interface in the file group__groupUART.html.



              • 4. Re: D2000 Software Serial

                Just to clarify :


                If you are using the ISSM standaolone toolchain you need to download the latest BSP from GitHub - GitHub - quark-mcu/qmsi: Quark MCUs HAL


                For the complete ISSM suite with IDE, libraries, documentation and BSP you need to download it from :

                Windows              : https://registrationcenter.intel.com/en/forms/?productid=2795
                Linux                   : https://registrationcenter.intel.com/en/forms/?productid=2796




                1 of 1 people found this helpful
                • 5. Re: D2000 Software Serial

                  Yes, I was skipping the whole download all along, going only for the Linux toolchain, but I track that Git repository you linked to.

                  So perhaps my question now is this:


                  Where in the repository at GitHub - quark-mcu/qmsi: Quark MCUs HAL do I find the equivalent of the directory under firmware/bsp/1.1 in the ISSM suite? Do I get the BSP only if I also get the full suite, or is it somewhere in that repository? I now have the 1.1 BSP, but only because I already downloaded the full ISSM suite on Peter’s prompting.

                  • 6. Re: D2000 Software Serial

                    Right now the BSP in the GitHub respository is identical to the one included in the latest version of ISSM (QMSI 1.1.0) . The root of the repo is the equivalent to the /firmware/bsp/1.1 directory.



                    2 of 2 people found this helpful
                    • 7. Re: D2000 Software Serial

                      Right. Let me see how to make all BSP paths in my Makefiles point to the Git repo.

                      Thanks a lot.