• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Microcontrollers » C2000™ Microcontrollers » C2000 32-bit Microcontrollers Forum » GPIO Boot Pins
Share
C2000™ Microcontrollers
  • Forums
  • Announcements
  • E2E Wiki
Options
  • Subscribe via RSS
C2000 Resources
  • Product Folder
  • C2000 Training Portal
  • C2000 Technical Training Catalog
  • C2000 Datasheets, App Notes, User Guides
  • C2000 Hardware Design Kits
  • controlSUITE for C2000 Software Library


  • InstaSPIN Resources
  • What is InstaSPIN?
  • Videos and Support


  • InstaSPIN-FOC and InstaSPIN-MOTION Resources
  • What is InstaSPIN-FOC?
  • What is InstaSPIN-MOTION?
  • Product Folder: F28069F, F28068F, F28062F, F28068M, F28069M
  • User’s Guide
  • Technical User’s Manual
  • Tools
  • Forums

    GPIO Boot Pins

    This question has suggested answer(s)
    James Stanley
    Posted by James Stanley
    on Jan 18 2012 08:55 AM
    Prodigy150 points

    The Technical Reference Manual describes various boot modes that can be configured to control whether the device boots frrom Flash, RAM etc. How are these GPIO pins configured on the Concerto controlCARD? Where is this described in the documentation?

    Thanks.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Trey German
      Posted by Trey German
      on Jan 18 2012 09:43 AM
      Suggested Answer
      Genius14440 points

      James,

      The TRM describes the GPIOs associated with boot mode selection in section 6.3 "Device Boot Modes".  These GPIOs are brought to SW1 on the controlCARD.  You can find a schematic of the board in controlSUITE in:

      C:\TI\controlSUITE\development_kits\~controlCARDs\CCF28M35xxHWdevPkg

      Trey

      Trey German

      C2000 Applications

      If a post answers your question, please mark it with the "verify answer" button.
      Visit these helpful C2000 Links!
      C2000 TI Wiki Pages
      TI Forum Sitemap
      ControlSUITE
      C2000 Getting Started
      CLA FAQs
      Workshop Material!
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • James Stanley
      Posted by James Stanley
      on Jan 19 2012 03:57 AM
      Prodigy150 points

      Thanks Trey,

      Maybe I'm old school, but I'd find it easier if documents like this could be downloaded straight from the TI website...

      Anyway, what I was really after was the reason why I don't seem to be able to run the Cortex-M3 core in stand alone mode, booting from Flash. I know there are various other posts on this forum on this topic, but none of them provides me with the answer. This is what I've got so far:

      SW1: All switches need to be in the '1' position ... which I assume to mean in the 'up' position (when the card is in the docking station)

      SW3: Position 1 (the leftmost switch) needs to be OFF (down)

      main() needs to setup the system clock, PLL etc and call either FlashInit() or FlashSetup()

      Clearly I'm missing something as this does not let my code run. The code runs fine from the debugger (with SW3 position 1 in the ON state).

      Another thing I don't follow is what happens when I select "CPU Reset" from the debugger. SP get's reset to 0x20004900 (which I guess is reasonable) but PC gets reset to 0x01001566 which I don't understand. If I hit "Resume" at this point, my code doesn't run. However, if I instead hit "Restart", I get put back to the start of main with the SP reset to that defined by the linker script. What does CCS do when I select "Restart"?

      James.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Trey German
      Posted by Trey German
      on Jan 19 2012 08:30 AM
      Suggested Answer
      Genius14440 points

      James,

      I understand your frustration with having to download controlSUITE.  I agree that we could do a better job distributing our software and documentation and this is something we are working on internally.

      You've got the right idea with the switches but there is one problem.  On SW1 all of the switches need to be in the down position.  Try running the dual core blinky example, each core flashes one of the LEDs on the board.  Its an excellent example to start with if you want to build a stand alone boot from flash application.

      The PC points to 0x01001566 because that is what the reset vector points to.  Take a look at address location 0x04 (the reset vector).  The reason the code doesn't run when you hit run after resetting is that the bootROM runs first.  The bootROM can tell whether an emulator is connected or not and if an emulator is connected it does a special emulation boot.  Instead of looking at the boot mode pins the bootROM instead looks at some memory locations to figure out how it should boot.  This is all documented in the bootROM section of the TRM.  When you hit restart CCS automatically starts execution at cint00 and puts a hidden breakpoint at main.

      Trey

      Trey German

      C2000 Applications

      If a post answers your question, please mark it with the "verify answer" button.
      Visit these helpful C2000 Links!
      C2000 TI Wiki Pages
      TI Forum Sitemap
      ControlSUITE
      C2000 Getting Started
      CLA FAQs
      Workshop Material!
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • James Stanley
      Posted by James Stanley
      on Jan 20 2012 08:16 AM
      Prodigy150 points

      Thanks for clarifying the SW1 switches.

      James.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Clasquin
      Posted by Joel Clasquin
      on May 07 2012 11:15 AM
      Intellectual400 points

      Trey,

      I have a related question about the boot pins.  The TRM says the following....

      . Boot Mode 7 typically does not
      require any external signals to drive the three boot mode pins, as by default, all three pins are internally
      pulled up to logic 1 (111b).

      My board design leaves 2 of the pins disconnected, and 1 of the pins is connected to a couple of logic gate inputs.  I thought this would be OK if I want to boot to FLASH.  But it's not working.

      I can look at the M boot status bits and see that sometimes it's trying to boot to EMAC and sometimes to Parallel GPIO.  So I checked voltage of all three boot pins.  The disconnected pins are nearly 0V and the one connected to logic gate inputs is around 2.0V.  So my boot bits are sometimes (000b) and sometimes (100b), which perfectly explains why I'm seeing parallel and EMAC booting.  

      Is the TRM manual wrong?  Do I have to tie boot pins high?  Can I not use one of them as a GPIO output to logic gates?

      Thanks,

      Joel 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Trey German
      Posted by Trey German
      on May 07 2012 14:16 PM
      Suggested Answer
      Genius14440 points

      Joel,

      When the chip initially boots all the pins are high impedance.  Where does it say the pins are pulled high by default?  If it does say this, I believe this might be a mistake.

      Yes you can use any of the boot pins as either an input or output after the device has booted.  There is nothing really special about these pins.


      Trey

      Trey German

      C2000 Applications

      If a post answers your question, please mark it with the "verify answer" button.
      Visit these helpful C2000 Links!
      C2000 TI Wiki Pages
      TI Forum Sitemap
      ControlSUITE
      C2000 Getting Started
      CLA FAQs
      Workshop Material!
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Clasquin
      Posted by Joel Clasquin
      on May 07 2012 16:23 PM
      Intellectual400 points

      I'm looking at page 41 of the datasheet.  It's the first paragraph under the "Master Subsystem Boot Mode Selection" table (table 2-17 in the January 2012 revision).  

      This is the quote...

      "Boot Mode 7 typically does not
      require any external signals to drive the three boot mode pins, as by default, all three pins are internally
      pulled up to logic 1 (111b)."

      I guess I'll be modifying my board.

      Thanks,
      Joel 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Trey German
      Posted by Trey German
      on May 08 2012 08:03 AM
      Genius14440 points

      Don't start modifying your board yet.  The pins by default do in fact have their pullups turned off, but the BootROM code may be enabling these pullups.  Let me check this first.

      Trey

      Trey German

      C2000 Applications

      If a post answers your question, please mark it with the "verify answer" button.
      Visit these helpful C2000 Links!
      C2000 TI Wiki Pages
      TI Forum Sitemap
      ControlSUITE
      C2000 Getting Started
      CLA FAQs
      Workshop Material!
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Trey German
      Posted by Trey German
      on May 08 2012 09:05 AM
      Suggested Answer
      Genius14440 points

      I just talked with our bootROM author and the pullups are NOT enabled by the bootROM which means these pins are floating on your board.  The input side of the buffers connected to that pin probably have a small leakage which is building up on the pin and causing it to read high.  Please place actual pull up or down resistors on these pins.

      Sorry for the confusion.  This will be correctly in the next revision of the datasheet.

      Trey

      Trey German

      C2000 Applications

      If a post answers your question, please mark it with the "verify answer" button.
      Visit these helpful C2000 Links!
      C2000 TI Wiki Pages
      TI Forum Sitemap
      ControlSUITE
      C2000 Getting Started
      CLA FAQs
      Workshop Material!
      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use