Advertisement

Quick Links

Embedded Pi User Manual
Website:
www.coocox.org
Forum:
forum.coocox.org
Techinal:
master@coocox.com
Market:
market@coocox.com
Rev. 1.0
Release: 2013-05-06

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Embedded Pi and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for CooCox Embedded Pi

  • Page 1 Embedded Pi User Manual Rev. 1.0 Release: 2013-05-06 Website: www.coocox.org Forum: forum.coocox.org Techinal: master@coocox.com Market: market@coocox.com...
  • Page 2: Table Of Contents

    Catalog Embedded Pi User Manual ........................ 0 Catalog .............................. 1 Introduction ..........................3 Key Features ..........................4 Hardware Layout and Configuration ..................5 Block Diagram ....................... 5 ESD Precautions ......................7 MCU ..........................8 Power ..........................8 3.4.1 Power Supply ..................... 8 3.4.2...
  • Page 3 Raspberry Pi Mode ...................... 24 4.3.1 Hardware Connections ..................26 4.3.2 Software Resources ..................26 Getting Started ........................27 Schematics ..........................41 References ..........................45 Cortex-M3 ........................45 STM32 ......................... 45 CooCox ........................45 Raspberry Pi ........................ 46 Arduino ........................46...
  • Page 4: Introduction

    Embedded Pi is a triple-play platform for Raspberry Pi, Arduino and 32-bit embedded ARM. Blending all three communities together, Embedded Pi helps you to get the most out of each platform. The Embedded Pi is based on the STMicroelectronics STM32F103 MCU, and can...
  • Page 5: Key Features

    CooCox and CoFans ‒ A complete set of FREE CooCox tools for ARM development ‒ A common footprint next to Arduino footprint for connection with expansion daughter cards which will be developed by CooCox ...
  • Page 6: Hardware Layout And Configuration

    3.6 Embedded Pi Extended Interfaces, and 3.7 Raspberry Pi Connector. Embedded Pi has 3 power sources from which the power supply is auto-selected – USB connection, an external DC power supply, or a Raspberry Pi. For more information, refer to Power MCU.
  • Page 7 Embedded Pi contains an ARM Cortex-M3 MCU STM32F103RBT6 which belongs to STM32 F1 series of mainstream MCUs. The STM32 F1 is a series of mainstream MCUs covering the needs of a large variety of applications in the industrial, medical and consumer markets. With this series of products, ST has pioneered the world of ARM®...
  • Page 8: Esd Precautions

    Raspberry Pi Interface Figure 3-3 Pin IDs of the connectors ESD Precautions Please note that the Embedded Pi board comes without any case/box and all components are exposed. Therefore, extra attention must be paid to ESD (electrostatic discharge) precautions. Please make sure there is no static interference when using the board.
  • Page 9: Mcu

    Raspberry Pi connector (J5) on the Embedded Pi board via the 26-pin IDC cable in the package. Embedded Pi can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more...
  • Page 10: Power Pins

    12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. Note: Embedded Pi has 3.3V and 5V outputs for power supply, selectable by JP1. You need to check and select which output to use every time when powering on the stacked Arduino shields.
  • Page 11: Power Section

    6 analog inputs, 2 of which have a multiple function for IIC communication. However, the 2 IIC pins have no analog input function on the Embedded Pi board. The specific IO mapping of the pins are as below:...
  • Page 12: Digital Section

    16 digital IOs, which can also access 1 UART, 1 SPI, and 6 PWM signals by multiplexing. Embedded Pi has full compliance with Arduino these pins. The specific IO mapping of the digital pins are as below:...
  • Page 13: Embedded Pi Extended Interfaces

    STM32F103RBT6, and 2 pins with multiple functions including PWM and UART. The UART function is for ISP download, which works together with BOOT0 and BOOT1. Figure 3-5 Embedded Pi extended custom interfaces (right side of the dotted line) Table 3-4 IO mapping of Embedded Pi extended custom interfaces...
  • Page 14: Analog Section

    3.6.3 Digital Section Embedded Pi extended interfaces include 16 digital IOs, which can also access 1 UART with flow control, 2 pairs of differential PWM, 1 CAN, 1 SPI, and 1 IIC. The specific IO mapping of the digital pins are as below:...
  • Page 15: Raspberry Pi Connector

    UART. As the Arduino form-factor compatible interfaces include only 16 digital IOs, pin 26 of the Raspberry Pi is ignored on Embedded Pi. Below is the IO remapping of Raspberry Pi interfaces on Embedded Pi board. Table 3-7 IO remapping of Raspberry Pi interfaces Note: Dn (n=1.2.3 …) stands for Digital Pin x.
  • Page 16: Program The Embedded Pi

    The next steps are as below: Install the ISP tool for Embedded Pi on your PC or Raspberry Pi. There are many ISP tools for PC, and ST has provided a version for Windows system only. For details, please refer to http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_...
  • Page 17: External Debugger Mode

    Connect the ISP interface on Embedded Pi with your PC (or Raspberry Pi) according to the instruction of the ISP tool. Figure 3-5 shows the pins of the ISP interface on Embedded Pi. When using a PC to program Embedded Pi, an RS232 voltage conversion chip is needed between to convert the TTL voltage level of Embedded Pi to the RS232 voltage level of PC.
  • Page 18: Button

    SJ1 with JTDI first with electronic iron and solders. STM32-PA15 JP2-TDI Button Table 3-8 Function of buttons on Embedded Pi Button ID Name Function Remark RESET Reset the Embedded Pi or the Arduino shields in use BOOT0 Select Boot Mode...
  • Page 19: System Clock Source

    3.11 System Clock Source Table 3-10 System Clock Source Function of Embedded Pi Clock Source ID Crystal Frequency Function 8MHz System main clock source 32.768KHz RTC input clock source 3.12 Jumper Table 3-11 Function of Embedded Pi Jumpers Jumper ID...
  • Page 20: Operation Modes

    4 Operation Modes The Embedded Pi has three operation modes, selectable by jumpers. Refer to 3.12 Jumper. STM32/Standalone Mode The Embedded Pi works as an Arduino form-factor compatible mother board where the STM32 controls the Arduino shields directly without the use of Raspberry Pi. It can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators.
  • Page 21: Software Resources

    4.1.2 Software Resources A quick & easy embedded project can be built in C using CooCox development tools from Embest, a FREE and easy-to-use ARM development tool environment working in Windows XP SP3/Windows Vista/Windows 7 system for Cortex-M MCU with flash programming & debugging capability (CoIDE, CoFlash, CoLinkEx etc), along with the integrated abundant reusable code shared by CooCox team and CoFans.
  • Page 22 Motor Shield 75346 For latest shared Arduino shield drivers, visit http://www.coocox.org/driver/shield-mc9.html, or click “Refresh” button on the top right corner of the Repository view in CoIDE, as shown in the figure below. Click the “Upload” button next to “Refresh” to share your Arduino shield drivers with others by just 4 steps.
  • Page 23: St-Adapter Mode

    Figure 4-3 Arduino shield drivers list & “Refresh” button ST-Adapter Mode Preparation: A firmware to control the Arduino shields and communicate with the Raspberry Pi should be programmed to the STM32 before hand; it can be generated from the project built in CoIDE, and be programmed with CoIDE, CoFlash, or ISP tool.
  • Page 24: Hardware Connections

    Figure 4-4 Block diagram of ST-Adapter Mode 4.2.1 Hardware Connections The Raspberry Pi communicates with STM32 via the SPI/I2C/UART channels of the Raspberry Pi connector, which are used as multiplex functions of the digital IOs. The Embedded Pi can be powered with the connected Raspberry Pi.
  • Page 25: Software Resources

    Raspberry Pi can control motor, LED, or GPIO of STM32 with commands by invoking command parameters already defined TinkerKit Shield For more demos and divers, please visit www.coocox.org/epi.html. Raspberry Pi Mode The Embedded Pi works as a hardware connection bridge between Raspberry Pi and Arduino...
  • Page 26 Arduino but with the power and capabilities of Raspberry Pi. Raspberry Pi (GUI or command line console) DATA Embedded Pi Motor Sensor Arduino Shields Network Figure 4-6 Block diagram of Raspberry Pi Mode...
  • Page 27: Hardware Connections

    4.3.1 Hardware Connections Figure 4-7 Hardware connections of Raspberry Pi Mode Note: The Embedded Pi Extended Interfaces are not connected with the pins of the Raspberry Pi Connector. 4.3.2 Software Resources Arduino community has provided a great many drivers and application examples of the existing Arduino shields for Linux, as well as corresponding document.
  • Page 28: Getting Started

    5 Getting Started To get started with the Embedded Pi in ST-Adapter mode and Raspberry Pi mode, refer to 4.2.2 and 4.3.2. To get started with Embedded Pi in STM32 mode, an Arduino shield, and CoIDE, you can follow the steps below:...
  • Page 29 Specify project name and path, and click “Next”. Stay the cursor on “Chip” to create the project based on the target chip, and click “Next”.
  • Page 30 Select target chip “STM32F103RB” from the chip list. After clicking “Finish”, CoIDE will create a project containing a main.c file for you, and show the Repository window which contains all code components of STM32F103RB.
  • Page 31 Select the driver component of your Arduino shield from the “Drivers” tab, e.g. select Shield -> DM163 Dot Matrix, associated components (xGPIO in this case) will be automatically selected, and CoIDE will add the source code of the selected components to your project.
  • Page 32 Select View -> Help to open the Help window and view the related information of a selected component.
  • Page 33 In the “Peripherals” tab, select CoX.Embedded_PI.Config component to add the interface configuration files to the project.
  • Page 34 The Components view shows all selected components and the number of examples for each component. Click DM163 Dot Matrix component and its Example window will popup. Click “view” to view the content of the example file.
  • Page 35 10. Click “add” to add the example file to your project, and click “Yes” to confirm adding. CoIDE will add the DotMatrix_example.c file to the project, and the DotMatrix_example function to the main function.
  • Page 36 However, the DotMatrix_example.c file has 2 unsolved inclusions – xcore.h and xsysctl.h. 11. Select components xCORE and xSysCtl from the “Peripherals” tab.
  • Page 37 12. Click the “Build” button or press F7 to compile and link the program. 13. Click the “Configuration” button to open the Configuration window.
  • Page 38 14. Select the debug adapter you use in the “Debugger” tab, and close the Configuration window to save your configurations. 15. Click the “Download” button to download code to flash.
  • Page 39 16. To start debugging, click on the Debug icon or press Ctrl+F5. 17. If debugging is launched successfully, CoIDE will enter the debug mode.
  • Page 40 18. Other debug windows can be added by simply selecting them from the View menu. 19. Use the debug functions like single stepping via the tool bar or debug menu.
  • Page 41 20. Set breakpoints in the C code window or the Disassembly window.
  • Page 42: Schematics

    6 Schematics...
  • Page 46: References

    ARMv7-M Architecture Reference Manual http://infocenter.arm.com/help/topic/com.arm.doc.ddi0403c/index.html STM32 STM32F103RBT6 Datasheet http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/ CD00161566.pdf STM32F10xxx Flash memory microcontrollers http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAM MING_MANUAL/CD00283419.pdf STM32F10xxx/20xxx/21xxx/L1xxxx Cortex-M3 programming manual http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAM MING_MANUAL/CD00228163.pdf RM0008: STM32F10xx Reference Manual http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE _MANUAL/CD00171190.pdf More resources http://www.st.com/internet/mcu/product/164487.jsp CooCox CooCox Embedded Pi Page http://www.coocox.org/epi.html CooCox Forum http://www.coocox.org/Forum/index.php CooCox CoX http://www.coocox.org/COX.html...
  • Page 47: Raspberry Pi

    CooCox CoIDE http://www.coocox.org/CooCox_CoIDE.htm Raspberry Pi Raspberry Pi HomePage http://www.raspberrypi.org/ Raspberry Pi order links http://downloads.element14.com/raspberryPi1.html FAQs http://www.raspberrypi.org/faqs Element14 Raspberry-Pi community http://www.element14.com/community/groups/raspberry-pi Arduino Arduino HomePage http://www.arduino.cc/ Arduino Community http://arduino.org/ Arduino Shields http://www.shieldlist.org/...

Table of Contents