Skip to content
This repository was archived by the owner on Feb 17, 2024. It is now read-only.

Commit 11362c5

Browse files
committed
init
1 parent 55bfd33 commit 11362c5

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ Because of cost or supply problems, people look for alternatives to well-establi
44

55
- does not need USB
66
- does not need VBAT battery-backup
7-
- does not need FPU floating point unit
7+
- does not need hardware FPU floating point unit (software floating point is OK)
88
- needs only 12 kbyte RAM or less
99

1010
This is an arduino for MM32SPIN27 and MM32SPIN25 processors.
1111

12-
This is modest but sufficient to write small projects. As a demo project, see the t12 soldering iron controller. XXX
12+
This is modest but sufficient to write small projects. As a demo project, see the [t12-958 soldering iron controller](https://github.com/koendv/t12-958).
1313

1414
## compiling
1515

1616
- Install arduino IDE
17-
- In __File ⇨ Preferences... ⇨ Additional Board Manager URLs__, put the URL of the ``package_seekfree_index.json`` file: XXX
17+
- In __File ⇨ Preferences... ⇨ Additional Board Manager URLs__, put the URL of the _package_seekfree_index.json_ file: ``https://raw.githubusercontent.com/koendv/MM32SPIN27-Arduino/main/doc/package_seekfree_index.json``
1818
- close and restart arduino IDE.
1919
- for hardware division, copy the file libgcc.a:
2020
``cp mm32-libgcc/libgcc.a ~/.arduino15/packages/SeekFree/tools/xpack-arm-none-eabi-gcc/10.3.1-2.3/lib/gcc/arm-none-eabi/10.3.1/thumb/v6-m/nofp/libgcc.a``
@@ -29,7 +29,7 @@ This is modest but sufficient to write small projects. As a demo project, see t
2929
MM32SPIN27 is an Arm Cortex-m0 processor. Cortex-M0 has no hardware FPU, no division instruction.
3030
However, MM32SPIN27 has hardware acceleration for 32-bit integer division and remainder, integer square root and crc.
3131

32-
On a small processor like this, if there is hardware support, it's there for a reason. Use it.
32+
On a small processor like this, if there is hardware support for something, it's there for a reason. Use it.
3333

3434
### hardware division
3535
Standard libgcc on Cortex-M0 uses software integer division. Division in software works, but is slow. Using hardware division speeds up execution noticeably. This software patches libgcc to use MM32 hardware support for 32-bit signed and unsigned integer division. If you wish to use hardware division you have to replace the compiler ``libgcc.a`` by the patched version. See directory ``mm32-libgcc``
@@ -83,6 +83,8 @@ The following libraries are included:
8383
- _SoftwareWire_ I2C in software
8484
- _SPI_ in hardware
8585

86+
This list was determined in the following way: I wrote a demo project. If something was needed to implement the demo, I added it. If something was not needed, I did not add it.
87+
8688
## demo project
8789

8890
As a demo, a soldering station was implemented. This is an application with an SPI OLED display, a rotary encoder with pushbutton, analog and digital inputs, and PWM output. Standard arduino libraries were used for display, task scheduler, PID controller, and temperature sensors.

0 commit comments

Comments
 (0)