Category:Hopper: Difference between revisions
imported>Yorecode (Adding the Hopper microcontroller programming language) |
imported>Yorecode (Add not yet implemented link and some reformatting edits) |
||
Line 23: | Line 23: | ||
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap IDE implementation being on Windows written in C#. |
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap IDE implementation being on Windows written in C#. |
||
Hopper is written in Hopper. |
Hopper is written in Hopper, with .hexe bytecode files in the ''Bin/'' directory of the IDE setup. |
||
* Preprocess, Compile, Optimize, Codegen, DASM (Disassembler) |
|||
* Preprocess |
|||
* Compile |
|||
* Optimize |
|||
* Codegen |
|||
* DASM (Disassembler) |
|||
* Translate (Hopper to C) |
* Translate (Hopper to C) |
||
In support of the system shell and .cmd scripting, there is also: (non exhaustive list) |
In support of the system shell and .cmd scripting, there is also: (non exhaustive list) |
||
* show |
|||
⚫ | |||
* shell |
|||
⚫ | |||
* cd |
|||
* cls |
|||
* dir |
|||
* del |
|||
* more to come |
* more to come |
||
Line 48: | Line 39: | ||
There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads): |
There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads): |
||
⚫ | |||
* Pico |
|||
⚫ | |||
⚫ | |||
* Challenger RP2040 Wifi |
|||
⚫ | |||
* along with drivers (written in Hopper) for many MCU related display devices and module peripherals. |
* along with drivers (written in Hopper) for many MCU related display devices and module peripherals. |
||
The debugger is an important part of Hopper development. **TODO** |
|||
Links: |
|||
* [[Reports:Tasks_not_implemented_in_Hopper|Tasks not yet implemented]] |
Revision as of 12:51, 20 February 2024
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By reference, By value |
Type safety: | Safe |
Type strength: | Strong |
Type expression: | Explicit |
Type checking: | Static |
|
Hopper is a Java-like programming language designed for microcontrollers. A curl-brace semi-colon syntax and bytecode virtual machine runtime implementations.
The Hopper Interactive Development Environment (IDE) runs on Windows, with outputs targetting Hopper Runtimes for
- 6502, an older 8bit microcontroller unit, (MCU).
- RP2040, a newer 64bit dual core Cortex M0+ MCU with General Purpose Input Output (GPIO) pins and modern internal perpherials designed by the Raspberry Pi Foundation, (RPi).
- Pico
- Pico W
- Challenger RP2040 WiFi
- more to come
All Hopper Runtimes support a Hopper Monitor shell that implements feedback IO and a command language, the elements of which are Hopper programs. The Hopper Runtime virtual machine can also be used directly from the Hopper IDE on desktop PC, with the bootstrap IDE implementation being on Windows written in C#.
Hopper is written in Hopper, with .hexe bytecode files in the Bin/ directory of the IDE setup.
- Preprocess, Compile, Optimize, Codegen, DASM (Disassembler)
- Translate (Hopper to C)
In support of the system shell and .cmd scripting, there is also: (non exhaustive list)
- show, shell, debug (more on this below), cd, cls, dir, del
- more to come
The author has put early documentation efforts into a large set of YouTube videos, with the main page (and search) at:
https://www.youtube.com/@biggertigger
In development by Michael Cartwright, with working samples for MOS Technology 6502, Raspberry Pi RP2040. There are various RunTime UF2's pre-built for quick starts. (UF2 is a hex file format for microcontroller firmware uploads):
- Pico, Pico W (with WiFi networking implemented), Challenger RP2040 Wifi
- and as is, the Pico firmware will at least minimally work on a fair number of RPi RP2040 development boards
- along with drivers (written in Hopper) for many MCU related display devices and module peripherals.
The debugger is an important part of Hopper development. **TODO**
Links: