You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/concepts/compiler-internals/harvard-arch.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,4 +5,4 @@ weight: 10
5
5
6
6
The AVR architecture is a modified Harvard architecture, which means that flash and RAM live in different address spaces. In practice, this means that any given pointer may either point to RAM or flash, but this is not visible from the pointer itself.
7
7
8
-
To get TinyGo to work on the Arduino, which uses the AVR architecutre, all global variables (which include string constants!) are marked non-constant and thus are stored in RAM and all pointer dereferences assume that pointers point to RAM. At some point this should be optimized so that obviously constant data is kept in read-only memory but this optimization has not yet been implemented.
8
+
To get TinyGo to work on the Arduino, which uses the AVR architecture, all global variables (which include string constants!) are marked non-constant and thus are stored in RAM and all pointer dereferences assume that pointers point to RAM. At some point this should be optimized so that obviously constant data is kept in read-only memory but this optimization has not yet been implemented.
Copy file name to clipboardExpand all lines: content/docs/concepts/low-power.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ description: >
8
8
---
9
9
10
10
Microcontrollers are usually rather non-demanding when it comes to power consumption.
11
-
Couple hudreds mW is the most you may expect a hobby project would use.
11
+
Couple hundreds mW is the most you may expect a hobby project would use.
12
12
13
13
Sometimes, even that is not low enough.
14
14
Power your project from a battery, and it'd benefit greatly from consuming less.
@@ -17,15 +17,15 @@ Common scenario for such projects is sleeping most of the time, and only rarely
17
17
The main caveat here is if not configured properly, microcontroller and peripherals continue to consume power while your program "sleeps".
18
18
19
19
The standard way to pause execution in Go is to use `time.Sleep()` function that is available in TinyGo too. Depending on the chip and effort put into its support, the efficiency of this function may vary. The only thing certain: this is _not worse_ than busy looping until a certain time has passed.
20
-
Still, with such high-level function as `time.Sleep()` it is not always possible to disable everything that consumes power as the decisions may depend on the application, presense of peripherals and the board used.
20
+
Still, with such high-level function as `time.Sleep()` it is not always possible to disable everything that consumes power as the decisions may depend on the application, presence of peripherals and the board used.
21
21
22
22
Most microcontrollers have one or more "low power" modes, also known as "deep sleep" and, sometimes, "dormant".
23
23
In such modes microcontroller may consume as low as milli- or even micro-Watts.
24
24
TinyGo gives you low level access to hardware to try and make most of it.
25
25
26
26
## Implementations
27
27
28
-
Manufacturers implement different modes, depending of capabilites of their products and name these modes differently too.
28
+
Manufacturers implement different modes, depending of capabilities of their products and name these modes differently too.
29
29
Hence no naming consistency across microcontrollers, unfortunately.
30
30
31
31
Always consult "Power consumption" part of a respective datasheet to understand capabilities of your hardware.
Copy file name to clipboardExpand all lines: content/docs/guides/contributing/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ Here is how to contribute back some code or documentation:
49
49
- Submit a pull request against the `dev` branch.
50
50
- Be kind
51
51
52
-
Please rebase (not merge) from the dev branch if your PR needs to incorporate changes that occured after your feature branch was created. You can accomplish that via the git command line:
52
+
Please rebase (not merge) from the dev branch if your PR needs to incorporate changes that occurred after your feature branch was created. You can accomplish that via the git command line:
Copy file name to clipboardExpand all lines: content/docs/guides/debugging.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,7 @@ There is a variety of choice when it comes to debug probes, but most debug probe
68
68
Here are some debug probes that are known to work in TinyGo for at least some boards:
69
69
70
70
*[SEGGER J-Link Edu Mini](https://www.segger.com/products/debug-probes/j-link/models/j-link-edu-mini/): this debugger can debug pretty much all ARM Cortex-M chips and is generally very reliable. However, it comes with some possible issues: it's entirely closed source, it is only allowed to be used for non-commercial purposes and it doesn't support as many chips as the full version.
71
-
*[Particle Debugger](https://store.particle.io/products/particle-debugger): a [DAPLink](https://armmbed.github.io/DAPLink/) based debugger that can debug practially all ARM Cortex-M chips (like the SEGGER above) and does not have limitations on how it can be used. It is also open source. While this debugger is designed for Particle hardware it can easily handle chips from other vendors.
71
+
*[Particle Debugger](https://store.particle.io/products/particle-debugger): a [DAPLink](https://armmbed.github.io/DAPLink/) based debugger that can debug practically all ARM Cortex-M chips (like the SEGGER above) and does not have limitations on how it can be used. It is also open source. While this debugger is designed for Particle hardware it can easily handle chips from other vendors.
72
72
*[ST-Link v2](https://www.st.com/en/development-tools/st-link-v2.html): a debugger often included on boards from STMicroelectronics and also sold separately. It is somewhat less powerful than some other debuggers as it is only intended to be used with ST hardware, even though it works with most microcontrollers that support SWD debugging. Note that many online stores sell counterfeit versions of this debugger that may be unreliable.
73
73
*[DIY DAPLink](https://embeddedcomputing.weebly.com/the-5-programmer-debugger.html): a debugger you can make yourself. Requires compatible board, for example [Seeeduino XIAO](https://www.seeedstudio.com/Seeeduino-XIAO-Arduino-Microcontroller-SAMD21-Cortex-M0+-p-4426.html) that costs about $5. Please see linked page for flashing and wiring instructions. For quick and easy start, it is possible to [download uf2 image](http://files.seeedstudio.com/wiki/Seeeduino-XIAO/res/simple_daplink_xiao.uf2) and flash it by simply copying it over to XIAO mounted as an external drive. Members of TinyGo community reported successfully using this method to debug XIAO and Arduino Nano 33 IoT boards.
74
74
*[DYI Picoprobe](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#debugging-using-another-raspberry-pi-pico): Is another DIY opensource tool for the Raspberry Pi Pico. It acts as a Serial Wire Debugger (SWD) and UART to usb converter. The Raspberry Pi Pico getting started guide Appendix A page 60 has [instructions to build](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) from [source](https://github.com/raspberrypi/picoprobe) or you can download and flash the [UF2 image](https://datasheets.raspberrypi.com/soft/picoprobe.uf2).
Copy file name to clipboardExpand all lines: content/docs/guides/ide-integration/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Now you need to configure your IDE with these values.
28
28
29
29
### Using tinygo-edit
30
30
31
-
There is a CLI tool called [tinygo-edit](https://github.com/sago35/tinygo-edit) you can use it to Gather the needed build flags and starting the editor using the correct environment variables. Using the CLI you don't need to do the steps manualy.
31
+
There is a CLI tool called [tinygo-edit](https://github.com/sago35/tinygo-edit) you can use it to Gather the needed build flags and starting the editor using the correct environment variables. Using the CLI you don't need to do the steps manually.
Copy file name to clipboardExpand all lines: content/docs/reference/microcontrollers/nano-33-ble.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -118,7 +118,7 @@ Instructions needed here.
118
118
119
119
Nordic Semiconductor's SoftDevice (s140v7) must be flashed first to enable use of [bluetooth](https://github.com/tinygo-org/bluetooth) on this board.
120
120
121
-
SoftDevice overwrites original bootloader and flashing method described above is not avalable anymore.
121
+
SoftDevice overwrites original bootloader and flashing method described above is not available anymore.
122
122
Instead, please use [debug]({{<ref "../../guides/debugging.md">}}) probe and
Copy file name to clipboardExpand all lines: content/docs/reference/usage/basic.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ To build and then flash a basic blink program for a micro:bit board:
22
22
23
23
- Plug your micro:bit into your computer's USB port.
24
24
- The micro:bit board will appear to your computer like a USB drive. Determine the path to the board, for example on Linux it will be something like `/media/[USERNAME]/[NAME OF THE BOARD]`.
25
-
- Run the following command, substituing the correct name for the board from the previous step:
25
+
- Run the following command, substituting the correct name for the board from the previous step:
26
26
27
27
```shell
28
28
tinygo build -o=/media/[USERNAME]/[NAME OF THE BOARD]/flash.hex -target=microbit examples/microbit-blink
@@ -35,7 +35,7 @@ The top-left pixel of the built-in LED matrix on the micro:bit board should star
35
35
To build and then flash a basic blink program for an Arduino Uno,
36
36
37
37
- Plug in the board to your computer's USB port.
38
-
- Run the following command, specifiying the serial port if needed. (It defaults to `/dev/ttyACM0` as that is the default port on Linux.)
38
+
- Run the following command, specifying the serial port if needed. (It defaults to `/dev/ttyACM0` as that is the default port on Linux.)
@@ -50,7 +50,7 @@ To build and then flash a basic blink program for an Circuit Playground Express,
50
50
- Plug your Circuit Playground Express into your computer's USB port.
51
51
- Press the "RESET" button on the board two times to get the Circuit Playground Express board ready to receive code. If you just received the board, it will be running MakeCode, so press the "RESET" button just once. Either way, the NeoPixel LEDs should turn all green.
52
52
- The Circuit Playground Express board will appear to your computer like a USB drive. Determine the path to the board, for example on Linux it will be something like `/media/[USERNAME]/[NAME OF THE BOARD]`.
53
-
- Run the following command, substituing the correct name for the board from the previous step:
53
+
- Run the following command, substituting the correct name for the board from the previous step:
54
54
55
55
```shell
56
56
tinygo build -o=/media/[USERNAME]/[NAME OF THE BOARD]/flash.uf2 -target=circuitplay-express examples/blinky1
0 commit comments