• 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 » 2 Concerto Questions: What GPIO is assigned to SCI-B for the C28 core? Is it possible for the ARM core to detect weather or not the debugger is attached?
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

    2 Concerto Questions: What GPIO is assigned to SCI-B for the C28 core? Is it possible for the ARM core to detect weather or not the debugger is attached?

    This question is answered
    Nick Neander
    Posted by Nick Neander
    on Apr 03 2012 21:47 PM
    Intellectual450 points

    Hello,

    1) I would like to use SCI-B (for transmit only) along with SCI-A. There are 2 SCI peripherals but the documentation doesn't say which GPIO can be assigned to the second SCI.

    2) Because there is an error in the ROM (as stated in the dual core examples), I cannot run the processor standalone with the same build that I debug with. Is there a way to tell from ARM code that the debugger is connected?

    Thanks and God Bless!!!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Daniel Chang
      Posted by Daniel Chang
      on Apr 03 2012 22:27 PM
      Expert4120 points

      Hello,

      1) The datasheet only lists one (1) SCI module for the C28x.

      2) I am not sure what you mean.  I will let someone else try to answer this for now.

      Regards,
      Daniel

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ronaldo Pace
      Posted by Ronaldo Pace
      on Apr 04 2012 02:59 AM
      Intellectual875 points

      1) I found out that the best/fastest way to locate pins is to use the pin mux utility. Search for the PinMux_v100 folder on your ControlSuite that you'll find it. But the other answer is right, the C28 core only got 1 SCI !

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Santosh Athuru
      Posted by Santosh Athuru
      on Apr 04 2012 11:40 AM
      Expert7390 points

      Hi Nick

      Nick Neander

      2) Because there is an error in the ROM (as stated in the dual core examples), I cannot run the processor standalone with the same build that I debug with. Is there a way to tell from ARM code that the debugger is connected?

      regarding your Q2) above, nope there is no way to tell if device is running standalone or not. But you wouldn't need that - its very simple if you can follow below.

      Code development phase and stand-alone testing phase;-

      > you have debugger connected to both subsytems/cores - the GEL scripts take care of RAM-INITs, so you don't have to worry about this stuff.

      > when you connect to the device and load your application code in flash or RAM, you are not running boot ROM on either CPU - right? So you don't have to worry about C-Boot ROM errata.

      > on Master subsystem appication main() routine , comment out the function call that sends IPC to C-Boot ROM - because you don;t have C-Boot ROM running in this development phase any way. You can Identify this function call in your main as - "    IPCMtoCBootControlSystem();    "

      > After you load your applicaiton on Control subsytem and Master subsystem RAM/Flash - just run them.

      > After you are confident in your application and want to test stand-alone operation, put the function back in your master subsystem main() routine - flash the updated code.

      > disconnect debugger - power off and On- the function call sequence that sends IPC from master application to control subsytem boot ROM is well tested and you can be confident on that. Just make sure you program your application properly as per the flash-entry-point defined in C-Boot ROM.

      Please let us know if you have any questions on above or if you need any help.

       

      Best Regards

      Santosh


       

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nick Neander
      Posted by Nick Neander
      on Apr 04 2012 14:34 PM
      Intellectual450 points

      @ question 1;

      From concerto manual.

      The SCI modules support digital
      communications between the CPU and other asynchronous peripherals that use the standard
      non-return-to-zero (NRZ) format. The SCI receiver and transmitter each have a 16 -level deep FIFO for
      reducing servicing overhead, and each has its own separate enable and interrupt bits. Both can be
      operated independently for half-duplex communication, or simultaneously for full-duplex communication.

      Table 15-1. SCI-A Registers
      Name Address Range Size (x16) Description
      SCICCR 0x0000-7050 1 SCI-A Communications Control Register
      SCICTL1 0x0000-7051 1 SCI-A Control Register 1
      SCIHBAUD 0x0000-7052 1 SCI-A Baud Register, High Bits
      SCILBAUD 0x0000-7053 1 SCI-A Baud Register, Low Bits
      SCICTL2 0x0000-7054 1 SCI-A Control Register 2
      SCIRXST 0x0000-7055 1 SCI-A Receive Status Register
      SCIRXEMU 0x0000-7056 1 SCI-A Receive Emulation Data Buffer Register
      SCIRXBUF 0x0000-7057 1 SCI-A Receive Data Buffer Register
      SCITXBUF 0x0000-7059 1 SCI-A Transmit Data Buffer Register
      SCIFFTX 0x0000-705A 1 SCI-A FIFO Transmit Register
      SCIFFRX 0x0000-705B 1 SCI-A FIFO Receive Register
      SCIFFCT 0x0000-705C 1 SCI-A FIFO Control Register
      SCIPRI 0x0000-705F 1 SCI-A Priority Control Register
      Table 15-2. SCI-B Registers
      Name Address Range Size (x16) Description (1) (2)
      SCICCR 0x0000-7750 1 SCI-B Communications Control Register
      SCICTL1 0x0000-7751 1 SCI-B Control Register 1
      SCIHBAUD 0x0000-7752 1 SCI-B Baud Register, High Bits
      SCILBAUD 0x0000-7753 1 SCI-B Baud Register, Low Bits
      SCICTL2 0x0000-7754 1 SCI-B Control Register 2
      SCIRXST 0x0000-7755 1 SCI-B Receive Status Register
      SCIRXEMU 0x0000-7756 1 SCI-B Receive Emulation Data Buffer Register
      SCIRXBUF 0x0000-7757 1 SCI-B Receive Data Buffer Register
      SCITXBUF 0x0000-7759 1 SCI-B Transmit Data Buffer Register
      SCIFFTX 0x0000-775A 1 SCI-B FIFO Transmit Register
      SCIFFRX 0x0000-775B 1 SCI-B FIFO Receive Register
      SCIFFCT 0x0000-775C 1 SCI-B FIFO Control Register
      SCIPRI 0x0000-775F 1 SCI-B Priority Control Register

      I am a bit confused as to why there are registers for the 2nd peripheral...

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nick Neander
      Posted by Nick Neander
      on Apr 04 2012 14:40 PM
      Intellectual450 points

      @ question 2;

      I have been doing exactly that and its a bit annoying. I shouldn't to have to rebuild and re-program to run stand alone. I'm doing a project that may require a demo at short notice and it would be nice to be able to just grab the board and go. Also, while learning the process of "running from ram" I can't very well see if its working if the debugger is loading the ram for me. Its the IPC command that I would like to skip if the debugger is running. I know how to do this with .NET but not in C. Could I tell by the clock? Does the debugger set a different clock rate?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Daniel Chang
      Posted by Daniel Chang
      on Apr 04 2012 14:42 PM
      Expert4120 points

      There is a footnote below Table 15-2

      (2) SCIB is an optional peripheral. In some devices this may not be present. See the device-specific data sheet for peripheral availability.

      On Concerto, there is only SCI-A.

      Since the SCI peripheral can be identical between devices, it is easier to use the same SCI information across all devices (with disclaimers such as footnote 2) instead of customizing it for each one.

      I agree that this can be misleading but please also keep in mind the manual is still in an early stage and is meant for lead customer use and is not a final document. 

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Santosh Athuru
      Posted by Santosh Athuru
      on Apr 04 2012 15:12 PM
      Verified Answer
      Verified by Nick Neander
      Expert7390 points

      Hi Nick

      regarding below: good question, this triggered a thought. you can edit your GEL Scripts and add code in OnReset or OnTargetConect functions that will write some signature to a fixed location in RAM. Your code in main can read that and know if the by the time main() is running - the debugger is connected or not.

      Nick Neander
      I know how to do this with .NET but not in C. Could I tell by the clock? Does the debugger set a different clock rate?

       

      Hope that helps.

      Best Regards

      santosh

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Nick Neander
      Posted by Nick Neander
      on Apr 04 2012 22:14 PM
      Intellectual450 points

      Thanks for the advice.

      I'm having trouble pointing the target config at the new gel file (which I added to my project). I cant find where to select the gel to use for a launch.

      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