carioca


Namecarioca JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://bitbucket.org/egauge/carioca/
SummaryInterface to Atmel SAM-BA Monitor.
upload_time2024-02-07 21:29:19
maintainer
docs_urlNone
authorDavid Mosberger-Tang
requires_python
licenseMIT License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =======
Carioca
=======

Carioca is a variation of Samba or, in the present case, of SAM-BA.
SAM-BA is a full-blown in-system programmer developed and distributed
by Atmel to support bootstrapping their various SAM microcontrollers.
SAM-BA is proprietary, meaning that (most) of the source code is
unavailable to SAM-BA users.  Thus, if something breaks there, only
Atmel can fix the problem.

In contrast, Carioca is a minimal and open-source tool with similar
goals as SAM-BA.  It is minimal in the sense that it does not have any
of the complex code required to initialize hardware components such as
DRAM or to program flash memory.  Instead Carioca provides just enough
support to enable booting a primary bootloader and from there an
operating system such as Linux.  All flash programming etc. can then
be done from within the target's operating system.

Carioca has two modes: script mode and terminal-emulation mode.  It
starts out in script-mode where it executes zero or more scripts
stored in files.  There is also an interactive script mode where a
user can type commands interactively in a terminal.  Once the scripts
are done, Carioca usually switches into terminal-emulation mode.  In
this mode, Carioca simply passes the serial traffic from the target's
serial interface to the terminal Carioca was started in.  This enables
a user to observe the boot process of the target's operating system,
to log in and to execute commands as needed.

With these two modes, Carioca enables bootstraping a SAM
microcontroller through a single serial interface (such as the Debug
serial port), rather than the two ports typically required with SAM-BA
(Debug serial port and USB serial interface).

Carioca is written entirely in Python 3 and the scripting language has
been influenced by another, now defunct Python project called Sam_I_Am
(the two projects share no actual code, though, and their scripts are
not compatible).

Quick start
-----------

1. Install with::

	pip install --user carioca

   (or use "pip3" if that's the version providing Python 3).

2. Connect a target board with a SAM microcontroller to your computer
   using either its Debug serial port or the USB serial port.  On
   Linux, the former would typically show up as device **/dev/ttyUSB0**,
   the latter as **/dev/ttyACM0**.

3. If the target's serial port shows up as **/dev/ttyUSB0** on your
   computer and the target's serial port speed is **115,200 baud**, then
   start Carioca like this::

	~/.local/bin/carioca

   You can use option -p to specify a non-default serial port (such as
   "**-p /dev/ttyACM0**") and the -b option to specify a non-default
   baudrate (such as "**-b 57600**").

4. Power up the target board.  Assuming your target has not been setup
   for automatic booting yet, you should see a "**RomBOOT**" prompt.  If so,
   continue.

5. Quit Carioca's terminal emulator by typing "**Ctrl-] quit**", followed
   by the **Enter** key.

6. Start Carioca's interactive script mode with::

	~/.local/bin/carioca -

   This will give you a "**carioca$**" prompt. You can type "**help**" to get
   a list of available commands.  When executing the first command
   requiring interaction with the target, Carioca report's the target's
   SAM-BA Monitor version.  For example::

	carioca$ writeb 0x200000 42

   will write the value 42 to memory location 0x200000 and respond with::

	Connected to SAM-BA Monitor v1.1 Jul 31 2015 15:09:09

   Typically, you'll want to send the primary bootstrap loader to
   the microcontroller's SRAM and then start execution.  This could be
   achieved with::

	carioca$ sendimg 0x200000 "at91bootstrap.bin"
	carioca$ go 0x200000

   As soon as the "**go**" command is executed, Carioca will switch to
   terminal-emulation mode so you can observe the boot process and
   interact with the target as needed.

7. When you get tired if playing with the target system, type
   "**Ctrl-] quit**", followed by the **Enter** key to quit Carioca.

            

Raw data

            {
    "_id": null,
    "home_page": "https://bitbucket.org/egauge/carioca/",
    "name": "carioca",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "David Mosberger-Tang",
    "author_email": "davidm@egauge.net",
    "download_url": "https://files.pythonhosted.org/packages/34/d6/b35a14df7af799e36577a6bbb85872e108b58ad14e7dc72d38715e6886e3/carioca-1.0.2.tar.gz",
    "platform": null,
    "description": "=======\nCarioca\n=======\n\nCarioca is a variation of Samba or, in the present case, of SAM-BA.\nSAM-BA is a full-blown in-system programmer developed and distributed\nby Atmel to support bootstrapping their various SAM microcontrollers.\nSAM-BA is proprietary, meaning that (most) of the source code is\nunavailable to SAM-BA users.  Thus, if something breaks there, only\nAtmel can fix the problem.\n\nIn contrast, Carioca is a minimal and open-source tool with similar\ngoals as SAM-BA.  It is minimal in the sense that it does not have any\nof the complex code required to initialize hardware components such as\nDRAM or to program flash memory.  Instead Carioca provides just enough\nsupport to enable booting a primary bootloader and from there an\noperating system such as Linux.  All flash programming etc. can then\nbe done from within the target's operating system.\n\nCarioca has two modes: script mode and terminal-emulation mode.  It\nstarts out in script-mode where it executes zero or more scripts\nstored in files.  There is also an interactive script mode where a\nuser can type commands interactively in a terminal.  Once the scripts\nare done, Carioca usually switches into terminal-emulation mode.  In\nthis mode, Carioca simply passes the serial traffic from the target's\nserial interface to the terminal Carioca was started in.  This enables\na user to observe the boot process of the target's operating system,\nto log in and to execute commands as needed.\n\nWith these two modes, Carioca enables bootstraping a SAM\nmicrocontroller through a single serial interface (such as the Debug\nserial port), rather than the two ports typically required with SAM-BA\n(Debug serial port and USB serial interface).\n\nCarioca is written entirely in Python 3 and the scripting language has\nbeen influenced by another, now defunct Python project called Sam_I_Am\n(the two projects share no actual code, though, and their scripts are\nnot compatible).\n\nQuick start\n-----------\n\n1. Install with::\n\n\tpip install --user carioca\n\n   (or use \"pip3\" if that's the version providing Python 3).\n\n2. Connect a target board with a SAM microcontroller to your computer\n   using either its Debug serial port or the USB serial port.  On\n   Linux, the former would typically show up as device **/dev/ttyUSB0**,\n   the latter as **/dev/ttyACM0**.\n\n3. If the target's serial port shows up as **/dev/ttyUSB0** on your\n   computer and the target's serial port speed is **115,200 baud**, then\n   start Carioca like this::\n\n\t~/.local/bin/carioca\n\n   You can use option -p to specify a non-default serial port (such as\n   \"**-p /dev/ttyACM0**\") and the -b option to specify a non-default\n   baudrate (such as \"**-b 57600**\").\n\n4. Power up the target board.  Assuming your target has not been setup\n   for automatic booting yet, you should see a \"**RomBOOT**\" prompt.  If so,\n   continue.\n\n5. Quit Carioca's terminal emulator by typing \"**Ctrl-] quit**\", followed\n   by the **Enter** key.\n\n6. Start Carioca's interactive script mode with::\n\n\t~/.local/bin/carioca -\n\n   This will give you a \"**carioca$**\" prompt. You can type \"**help**\" to get\n   a list of available commands.  When executing the first command\n   requiring interaction with the target, Carioca report's the target's\n   SAM-BA Monitor version.  For example::\n\n\tcarioca$ writeb 0x200000 42\n\n   will write the value 42 to memory location 0x200000 and respond with::\n\n\tConnected to SAM-BA Monitor v1.1 Jul 31 2015 15:09:09\n\n   Typically, you'll want to send the primary bootstrap loader to\n   the microcontroller's SRAM and then start execution.  This could be\n   achieved with::\n\n\tcarioca$ sendimg 0x200000 \"at91bootstrap.bin\"\n\tcarioca$ go 0x200000\n\n   As soon as the \"**go**\" command is executed, Carioca will switch to\n   terminal-emulation mode so you can observe the boot process and\n   interact with the target as needed.\n\n7. When you get tired if playing with the target system, type\n   \"**Ctrl-] quit**\", followed by the **Enter** key to quit Carioca.\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Interface to Atmel SAM-BA Monitor.",
    "version": "1.0.2",
    "project_urls": {
        "Homepage": "https://bitbucket.org/egauge/carioca/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "34d6b35a14df7af799e36577a6bbb85872e108b58ad14e7dc72d38715e6886e3",
                "md5": "c5b856d6588e7f52a7d9baa65c7dd412",
                "sha256": "f7b015698d64c5b5af3fc906c1e5b3a67770682f7ed6f266e62304253e1fae15"
            },
            "downloads": -1,
            "filename": "carioca-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c5b856d6588e7f52a7d9baa65c7dd412",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14284,
            "upload_time": "2024-02-07T21:29:19",
            "upload_time_iso_8601": "2024-02-07T21:29:19.925681Z",
            "url": "https://files.pythonhosted.org/packages/34/d6/b35a14df7af799e36577a6bbb85872e108b58ad14e7dc72d38715e6886e3/carioca-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-07 21:29:19",
    "github": false,
    "gitlab": false,
    "bitbucket": true,
    "codeberg": false,
    "bitbucket_user": "egauge",
    "bitbucket_project": "carioca",
    "lcname": "carioca"
}
        
Elapsed time: 0.17118s