User Tools

Site Tools


mios

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
mios [2006/03/25 16:47]
admin
mios [2011/01/10 22:10] (current)
baeaeaeaeaer Added links for MIOS32; Additional Info for MIOS32
Line 1: Line 1:
-**MIOS FAQ**+====== ​MIOS ======
  
-===== I plan to build a tiny foot controller, should I use a reduced ===== +**Overview**
-[[http://​www.ucapps.de/​pic16f_firmwares.html|PIC16F based MIDIbox]], or should I use the new PIC18F452 controller?+
  
-You definitely want to use the PIC18F452, as it is available for the same price. Although MIOS offers mighty functions for much more complex applications,​ the handling will be much easier for you. Especially because ​of the [[http://​www.ucapps.de/​mios_bootstrap.html|MIOS Bootstrap Loader]], which allows to reprogram ​the chip without a [[howto_program_a_pic]]+MIOS is the Operating System ​of the Chip. 
 +This Page covers ​MIOS and the BOOTLOADER (or Bootstrap Loader). General Informations can be found in the Intro-Article: ​[[what is a MIDIbox]].
  
  
-===== But for such a minimal project isn't this big chip wasted money? ===== 
-Smaller chips like the PIC16F84 are cheaper to obtain, but the price difference of $3 US doesn'​t really matter in a sparetime project. Also the instruction set of the smaller chips is very reduced, therefore programming such CPUs won't be a lot of fun!<​BR>​The use of cheaper chips only makes sense when the saved costs are higher than your wasted time! 
  
 +There are two versions of MIOS: The (older) **MIOS8**, used for MBHP_Core modules equipped with 8bit PIC uControllers and **MIOS32** used for the Core_STM32 modules with 32bit STM controllers. If you are planning to build a new MidiBox, you should use the newer Core_STM32 that allows much more complex devices.
  
-===== But I want to produce my project in large quantities and sell it to other people for as much profit as possible - so could you send me a smaller MIOS version - ASAP? ===== +===== MIOS8 =====
-Go away, this is a non-profit project!+
  
 +{{  http://​www.audiocommander.de/​pics/​sonst/​MIOS_Overview.gif}}
 +MIOS8 is used for MBHP_Core modules equipped with PIC18F452, PIC18F4620 or PIC18F4685. ​
  
-===== Am I allowed to publish my modifications and improvements,​ or completely new applications based on MIOS? ===== +**The Article [[http://​www.ucapps.de/​mios_bootstrap_newbies.html|MIOS Bootstrap For Newbies]] ​(also available as [[http://​www.ucapps.de/​mios_bootstrap.html|MIOS Bootstrap]] in different languagescontains important informations about how to upload MIOS - the operating system ​and an application.**
-You are allowed to share your applications with others, it's even allowed to publish them on the web or somewhere else, but please ask the copyright holder(sof the program parts you are re-using in your application ​before doing this+
  
-The copyright holders are listed in the headers of the source files, sometimes also in a README.txt ​or COPYRIGHT.txt file.+Developers should consult ​the related project pages or [[Application Development]].
  
-===== How do I burn the bootstrap loader into the PIC18F452? ===== 
-Fortunately this can be made with a common PIC programmer, see also [[howto_program_a_pic]]. Once the bootstrap loader has been written into the flash memory, OS and application updates can be made via MIDI. Therefore it isn't necessary anymore to build such a programmer by yourself for frequently firmware updates; you could ask a friend or somebody of the [[http://​forum.midibox.org|MIDIbox Forum]] if he does this job for you. 
  
-Also you can send your chip to SmashTV for free programming or you can buy them pre-programmed from the [[http://​mbhp.avishowtech.com|MIDIbox Store]] 
  
 +==== Documentation ====
  
-===== Can I burn a MIOS application into the PIC without the bootstrap loader===== +   * [[http://​www.ucapps.de/​mios.html|Introduction]] <​sup>​uCApps</​sup>​ 
-No, the bootstrap loader is a *must*. It's also required that MIOS is already running before uploading an application+   ​[[http://​www.ucapps.de/​mios_changelog.html|Change Log]] <​sup>​uCApps</​sup>​ 
-The upload procedure is described under [[http://​www.ucapps.de/​mios/​mios_upload_procedure.gif]]+   [[http://​sourceforge.net/​export/​rss2_projsummary.php?​group_id=6121|MIOS project summary RSS feed]] 
 +   * [[http://​www.ucapps.de/​mios_download.html|MIOS-Downloads]] <​sup>​uCApps</​sup>​
  
 +   * [[http://​www.ucapps.de/​mios_bootstrap.html|Bootstrap Loader]] <​sup>​uCApps</​sup>​
 +     * check out [[pic_programmer_modules]] to know how to get the Bootstrap Loader onto the PIC.
  
-===== Can I use PIC18C452 instead of a PIC18F452? ===== +   * [[Application Development]] Section 
-No, because the C device is only one-time-programmable - keep away from these OTP chips!+   * [[MIOS PIC18F4620|MIOS running on PIC18F4620]] (for certain future applications)
  
 +\\
  
-===== Can I use a PIC18LF452 instead of a PIC18F452? ​===== +==== Frequently Asked Questions ​====
-yes, the LF type is the low power version which works as well+
  
 +:!: [[MIOS FAQ|MIOS FAQ - Questions and Answers]] !\\
  
-===== What is the difference between a PIC18F452I/​P and PIC18F452I/​PT?​ ===== +\\ 
-The package type. The PDIP package is absolutely recommented for DIY projects (only this type fits into the PIC socket of the [[http://​www.ucapps.de/​mbhp_core.html|MBHP_CORE]]),​ so take a PIC18F452-I/​P or PIC18LF452-I/​P+\\
  
 +===== MIOS32 =====
 +MIOS32 is used on Core_STM32 boards, equipped with the 32bit STM32F103RE processor. MIOS32 is prepared for other 32bit uCs as well and allows platform independent applications.
  
-===== How can I test if my PIC is running? ===== +MIOS32 on a CORE_STM32 ​is more powerful than MIOS8:
-During the startup phase, the bootstrap loader will send following SysEx message over MIDI Out "F0 00 00 7E 40 00 01 F7". This identifies that your PIC is running. +
-The whole test procedure is described under [[http://​www.ucapps.de/​howto_debug_midi.html]]+
  
 +  * MIOS32 uses the realtime operating system FreeRTOS and allows simple multitasking with different priorities. ​
 +  * It also supports native USB MIDI for faster code upload and MIDI transfer.
 +  * Interfaces such as SPI and I²C can be used with DMA, allowing fast transfer at low CPU load
 +  * Besides hardware multiplier and division units the STM32F103RE provides more peripherals:​
 +    * CAN or USB (can not be used in parallel)
 +    * SPI
 +    * I²C
 +    * Timers
 +    * DAC
 +    * ADC
 +    * I2S for Audio DACs
 +  * The STM32F103RE provides 512kB of Flash and 64kB RAM
 +  * BankSticks are replaced by SD Cards for more and faster memory
  
-===== How can I test if MIOS is running? ===== +==== Documentation ​==== 
-After the startup phase, you can send this message "F0 00 00 7E 40 00 0F F7" to the core, MIOS should reply with the same message immediately. You could also try to upload an application,​ after every code block a checksum message will be send which acknowledges that the stream has been received correctly. +  ​* ​[[http://​www.ucapps.de/​mbhp_core_stm32.html|Core32 Introduction]] <​sup>​uCApps<​/sup> 
- +  ​* ​[[http://​www.ucapps.de/​mios32_download.html|MIOS32 Download]] <​sup>​uCApps<​/sup> 
- +  ​* ​[[http://​www.midibox.org/dokuwiki/doku.php?id=windows_mios32_toolchain_core&​s|Toolchain ​setup guide for Windows]] 
-===== How do I connect MIDI In/Out LEDs, a MIDI Thru port and/or a COM interface to the core module? ===== +  ​* ​[[http://​www.midibox.org/mios32/manual/|MIOS32 manual ​and function overview]] 
-See the [[http://​www.ucapps.de/​mbhp_ltc.html|MBHP_LTC]] page. +====== See Also ====== 
- +[[Mios studio]]
- +
-===== How do I connect a LCD to the core module? ===== +
-See [[howto_connect_a_lcd]] and the [[http://​www.ucapps.de/​mbhp_lcd.html|MBHP_LCD]] page. +
- +
- +
-===== Is a LCD required for MIOS? ===== +
-No! +
- +
-But using an LCD will be a BIG help in getting your project working. Connect an LCD to your core module unless you have enough experience to know that you can do without it. It doesn'​t have to be part of your panel, or even stay connected when the project is working. Just have it there when you are bringing up the project. Your first goal in a new project should be to get a working core module with LCD. //Jim Henry// +
- +
- +
-===== How do I connect buttons to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_din.html|MBHP_DIN]] page. +
- +
- +
-===== How do I connect LEDs to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_dout.html|MBHP_DOUT]] page. +
- +
- +
-===== How do I connect pots or faders to the core module? ===== +
-See the [[http://​www.ucapps.de/mbhp_ain.html|MBHP_AIN]] page. Note that MIOS supports also the direct ("​unmuxed"​) connection to the analog pins. So, if you only want to use 8 pots, you don't need to build the AIN multiplexer modules. The appr. configuration has to be made in the application main.asm file. +
- +
- +
-===== How do I connect motorfaders to the core module? ===== +
-See the [[http://www.ucapps.de/​mbhp_mf.html|MBHP_MF]] page. +
- +
- +
-===== How do I connect a BankStick to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_bankstick.html|MBHP BankStick]] page. +
- +
- +
-===== How do I connect rotary encoders to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_din.html|MBHP_DIN]] page. Note that MIOS needs to know, to which shift registers in the chain the encoders have be connected. The setup has to be made in mios_tables.inc +
- +
- +
-===== How do I connect LED rings to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_dout.html|MBHP_DOUT]] page. The DOUT modules ​for the LED rings have to be connected to the same shift register output chain like the other LEDs (J8 of the core module, or cascaded to another DOUT module). +
-Note that LED rings are handled by the user application,​ the setup has to be made in the main.asm file. +
- +
- +
-===== How do I connect a SID to the core module? ===== +
-See the [[http://​www.ucapps.de/​mbhp_sid.html|MBHP_SID]] page. +
- +
- +
-===== How do I connect CV outputs to the core module? ===== +
-See the [[http://​www.ucapps.de/mbhp_aout.html|MBHP_AOUT]] and [[http://www.ucapps.de/​mbhp_aout_lc.html|MBHP_AOUT_LC]] page. +
- +
- +
-===== How do I test my modules? ===== +
-With the AIN DIN DOUT test application for pots/​buttons/​LEDs,​ or [[MIDIO128]] for testing buttons/​LEDs only. +
-Motorfaders can be tested with the MF Calibration program, the SID and the BankStick with the SID application. LCDs with every application. +
- +
-===== I want to build a controller with 128 pots, how can I achieve this? ===== +
-You could build two core modules and [[http://​www.ucapps.de/​midibox_link.html|link them together]] +
- +
- +
-===== How do I modify the application code and build a new .syx file? ===== +
-Follow the instructions which are given in the "​main.asm"​ file. +
- +
- +
-===== Where can I learn more about the PIC18F instructions?​ ===== +
-See also [[book_reviews|Book Reviews]] +
- +
-But before buying a book about PIC assembly programming,​ consider that in many cases the use of MIOS C (-> [[http://​www.ucapps.de/​mios_c.html]]) is sufficient for common applications,​ and therefore assembly knowledge is not required. +
- +
-The most important informations (for instance a complete instruction list) can be found at the [[http://​www.microchip.com|Microchip]] site. Search under Products->​PICmicro controllers->​PIC18 Microcontroller Family->​PIC18F452->​Datasheet. There is also a reference manual for the whole PIC18 family available under Engineer'​s Toolbox->​Reference Manuals->​PIC18C MCU. Some interesting informations are also given by the Application notes (but you will find no informations about MIOS applications there ;-). The [[http://​www.piclist.com|PIClist]] is also a nice information source. +
- +
- +
-===== Where can I find more informations about MIOS specifics? ​===== +
-Currently only in the source codes and in the [[http://​www.ucapps.de/​mios_fun.html|MIOS Functions Reference]]. Some additional docs are available in the [[http://​www.ucapps.de/​mios_download.html|MIOS Download Section]]+
mios.1143305237.txt.gz · Last modified: 2006/10/15 09:35 (external edit)