Avalon nano: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 1: | Line 1: | ||
It's a usb dongle, using only one A3233. | |||
= | == Hardware version 1.0 == | ||
* | === Features === | ||
* VID/PID: 0x1FC9/0x0083 | |||
* Icarus protocol support | |||
* It use USB CDC, without need driver installation under Linux | |||
* Smart [[#LED|LED]] indicator | |||
* Overheating protection. (>= 65℃) | |||
* Adjust the hashrate automatically by temperature | |||
=CGMiner for | === Software === | ||
== CGMiner Under Ubuntu 14.04 = | It can support CGMiner, BFGMiner and AvalonMiner(Based on BFGMiner) for now. | ||
=== Download | ==== CGMiner Under Ubuntu 14.04 ==== | ||
* Download / Compile / Run | |||
'''Download''' | |||
Inside your home directory, download CGMiner | Inside your home directory, download CGMiner | ||
git clone https://github.com/Canaan-Creative/cgminer | git clone https://github.com/Canaan-Creative/cgminer | ||
'''Compile''' | |||
cd cgminer | cd cgminer | ||
git checkout origin/avalon-usb -b avalon-usb | git checkout origin/avalon-usb -b avalon-usb | ||
Line 25: | Line 24: | ||
make -j 4 | make -j 4 | ||
'''Run''' | |||
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass | sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass | ||
or | or | ||
sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log | sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log | ||
= BFGMiner = | * Patches | ||
* Run under Linux | Patch for Canaan Creative's CGMiner: [http://downloads.canaan-creative.com/software/avalon_nano/patches/001-avalon3-nano.patch 001-avalon3-nano.patch] | ||
For what: CGMiner patch. | |||
From where: Based c5ec1171@https://github.com/Canaan-Creative/cgminer/tree/avalon2 | |||
Comments: | |||
Support avalon3 nano in cgminer. | |||
Support Icarus protocol. | |||
==== BFGMiner ==== | |||
* Run | |||
'''Run under Linux''' | |||
./bfgminer \ | ./bfgminer \ | ||
-S ICA:/dev/ttyACMx \ | -S ICA:/dev/ttyACMx \ | ||
Line 44: | Line 52: | ||
2>log | 2>log | ||
'''Run under Windows''' | |||
bfgminer.exe ^ | bfgminer.exe ^ | ||
-S ICA:\\.\COMn ^ | -S ICA:\\.\COMn ^ | ||
Line 56: | Line 64: | ||
--api-listen ^ | --api-listen ^ | ||
2>log | 2>log | ||
Note: See the details about the timing in README. It works ~4GH/s(400 * 11.8) at 400MHz. | |||
timing = (1 / (4 * 10 ** 9)) * 10 ** 9 (python format) | |||
* MHS Cur calculation | |||
MHS Cur = Diff1 Work * (Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale)) * 60/ Elapsed * 71582788 / 1000000 | |||
Note: | |||
* | 1.if Difficulty Accepted + Difficulty Rejected + Difficulty Stale = 0,then Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale) = 1。 | ||
MHS Cur = Diff1 Work * (Difficulty Accepted/(Difficulty Accepted+Difficulty Rejected+Difficulty Stale)*60/ | 2.Get all the infomation through ./bfgminer-rpc -o summary | ||
* BFGMiner release from luck.dashjr | * BFGMiner release from luck.dashjr | ||
http://luke.dashjr.org/programs/bitcoin/files/bfgminer/ | http://luke.dashjr.org/programs/bitcoin/files/bfgminer/ | ||
= | ==== AvalonMiner ==== | ||
It is developed under Windows with Chinese UI only, You can import the solution and crack it by yourself. It is distributed under UNLICENSE.Source code can be download here: <ref>[https://github.com/Canaan-Creative/Avalon-nano/tree/master/gui_1.0</ref> | |||
===== Release ===== | |||
[http://downloads.canaan-creative.com/software/avalon_nano/software/20140911/ 20140911] | |||
* Avalon3 nano windows miner(20140911) | |||
* Beautifull GUI | |||
* Auto detect Avalon nano | |||
[http://downloads.canaan-creative.com/software/avalon_nano/software/20140803/ 20140803] | |||
* Avalon3 nano windows miner(20140803) first version | |||
* Support bfgminer only | |||
* Support icarus protocal | |||
= | ===== Run or Debug with CLI ===== | ||
== | # Copy BfgMiner to a safe place. | ||
# Uninstall Avalon GUI Miner | |||
# Modify the icadbg.cmd(under BfgMiner folder) with your correct com port. | |||
# Double click icadbg.cmd. | |||
Note: BFGMiner location: (C:\Program Files (x86)\Avalon Nano\BfgMiner) | |||
=== Hardware === | |||
==== Schematics ==== | |||
* [http://downloads.canaan-creative.com/software/avalon_nano/doc/Avalon_usb_sch.pdf Avalon-usb schematics] | |||
==== LPC11U14 Spec ==== | |||
{| class='wikitable' | |||
|- | |||
| Type || Infomation | |||
|- | |||
| Processor || NXP's Cortex-M0 LPC11U14 microcontroller | |||
|- | |||
| Flash || 32 kB | |||
|- | |||
| Data Memory || 6 kB | |||
|- | |||
| Clock Crystals || 12.000 MHz crystal for CPU | |||
|} | |||
==== Clock ==== | |||
{| class='wikitable' | |||
|- | |||
| Type || Value | |||
|- | |||
| LPC11U14 (External) || 48.000 MHz | |||
|- | |||
| A3233 XCLK (From LPC11U14) || 24.000 MHz | |||
|} | |||
==== LED ==== | |||
{| class='wikitable' | |||
|- | |||
| Color || Memo | |||
|- | |||
| Green || Idle status | |||
|- | |||
| Red/Blue || Working (Frequency high -> low,led red -> blue) | |||
|- | |||
| Red blinking || Overheating | |||
|} | |||
== | ==== Programmer ==== | ||
* | * SmartPro 5000U-Plus | ||
= | ==== SWD Debuger ==== | ||
LPC11U14 only support swd debug. | |||
* | The debugger can also be used to program the LPC11U14 chip. | ||
===== LPCXpresso ===== | |||
* Installation and Activation | |||
LPCXpresso download link <ref> [https://www.lpcware.com/lpcxpresso/download]</ref> | |||
Free Edition is enough. Then activate it. <ref> [http://www.lpcware.com/lpcxpresso/activate] </ref> | |||
* LPC-Link diagnostics | |||
Diagnostics when connecting to LPC-Link | Diagnostics when connecting to LPC-Link | ||
Line 129: | Line 167: | ||
use newlib semihost | use newlib semihost | ||
* How to debug issues with gdb (Works on OSX) | |||
Compile the souce with debug, then run gdb with the following commands: | |||
1.arm-none-eabi-gdb avalon_nano.axf | |||
2.target extended-remote | crt_emu_cm_redlink -g -2 -vendor=NXP -pLPC11U14/201 -flash-driver=LPC11_12_13_32K_4K.cfx | |||
3.load | |||
target extended-remote | crt_emu_cm_redlink -g -2 -vendor=NXP -pLPC11U14/201 -flash-driver=LPC11_12_13_32K_4K.cfx | |||
load | |||
Then you can use gdb as you want | Then you can use gdb as you want | ||
= | ===== ULINK 2 ===== | ||
== | * Configure ULINK2 for LPCXpresso | ||
* [[ | 1.Change boot mode to CMSIS-DAP | ||
Use the [http://www.keil.com/support/man/docs/ulink2/ulink2_boot_mode.htm Boot Mode Utility] to change the mode like this: UL2_Configure B1. | |||
2.Set jumper to 3.3V position | |||
See [http://www.keil.com/support/man/docs/ulink2/ulink2_hw_jumpers.htm Jumpers] | |||
3.Connect Avalon nano to ULINK2 | |||
Check [http://support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections SWD Connector Pinout], need connect SCLK,SWIO,GND only. | |||
== | === Firmware === | ||
* | ==== Reflash ==== | ||
* Avalon3 nano firmware burner <ref>http://downloads.canaan-creative.com/software/avalon_nano/burner</ref> | |||
==[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140523/ 20140523] | ==== Release ==== | ||
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140523/ 20140523] | |||
* Avalon3 nano firmware(20140523-dd84b993) | * Avalon3 nano firmware(20140523-dd84b993) | ||
* Support nonce receive timeout check | * Support nonce receive timeout check | ||
* Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz | * Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz | ||
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/20140519/ 20140519] | |||
* Avalon3 nano firmware(20140519-8c38877c):first version | * Avalon3 nano firmware(20140519-8c38877c):first version | ||
* Avalon3 nano test scripts found here:[https://github.com/BitSyncom/avalon-extras/tree/master/scripts a3233_avalon_usb_testbench.sh] | * Avalon3 nano test scripts found here:[https://github.com/BitSyncom/avalon-extras/tree/master/scripts a3233_avalon_usb_testbench.sh] | ||
Line 165: | Line 202: | ||
* Include avalon3 nano module test(avalon_bsp_testben) | * Include avalon3 nano module test(avalon_bsp_testben) | ||
* bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer | * bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer | ||
[http://downloads.canaan-creative.com/software/avalon_nano/firmware/nexttesting/ NEXT-TESTING] | |||
* NOTICE: Only for testing | * NOTICE: Only for testing | ||
* Adjust LED color according to the temperature | * Adjust LED color according to the temperature | ||
== | === Review === | ||
* https://bitcointalk.org/index.php?topic=1022764.0 | |||
== | === Issues === | ||
* | * OpenOCD is not support ULINK2 (See src/jtag/drivers/ulink.c) | ||
= | === References === | ||
<references /> | |||
== | === Links === | ||
* [http://www.nxp.com/documents/user_manual/UM10462.pdf LPC11U1X User Manual] | |||
= | |||
* www.nxp.com/documents/user_manual/UM10462.pdf | |||
* [http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc11xx-packages-0 LPCOpen sourcecode] | * [http://www.lpcware.com/content/nxpfile/lpcopen-software-development-platform-lpc11xx-packages-0 LPCOpen sourcecode] | ||
* [http://docs.lpcware.com/lpcopen/v1.03/ LPCOpen docs] | * [http://docs.lpcware.com/lpcopen/v1.03/ LPCOpen docs] | ||
Line 220: | Line 239: | ||
* [http://microcontrollershop.com/product_info.php?products_id=4838 LPC11U14 ARM Cortex-M0 Board] | * [http://microcontrollershop.com/product_info.php?products_id=4838 LPC11U14 ARM Cortex-M0 Board] | ||
* [http://www.lpcware.com/content/blog/application-programming-iap-code-example In-Application Programming (IAP) Code Example] | * [http://www.lpcware.com/content/blog/application-programming-iap-code-example In-Application Programming (IAP) Code Example] | ||
* | * Software for flashing / upgrading firmware | ||
**[http://www.lpcware.com/lpcxpresso/download LPCXpresso] (SWD method) | ** [http://www.lpcware.com/lpcxpresso/download LPCXpresso] (SWD method) | ||
* [http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm Target Connectors] |
Revision as of 07:51, 14 July 2015
It's a usb dongle, using only one A3233.
Hardware version 1.0
Features
- VID/PID: 0x1FC9/0x0083
- Icarus protocol support
- It use USB CDC, without need driver installation under Linux
- Smart LED indicator
- Overheating protection. (>= 65℃)
- Adjust the hashrate automatically by temperature
Software
It can support CGMiner, BFGMiner and AvalonMiner(Based on BFGMiner) for now.
CGMiner Under Ubuntu 14.04
- Download / Compile / Run
Download Inside your home directory, download CGMiner git clone https://github.com/Canaan-Creative/cgminer
Compile cd cgminer git checkout origin/avalon-usb -b avalon-usb ./autogen.sh --enable-icarus make -j 4
Run sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass or sudo ./cgminer --icarus-options 115200:1:1 --icarus-timing 0.22 -o http://stratum.pool:3333 -u work -p pass --api-allow W:192.168.2,W:192.168.2.1 --api-listen $@ 2>./log
- Patches
Patch for Canaan Creative's CGMiner: 001-avalon3-nano.patch For what: CGMiner patch. From where: Based c5ec1171@https://github.com/Canaan-Creative/cgminer/tree/avalon2 Comments: Support avalon3 nano in cgminer. Support Icarus protocol.
BFGMiner
- Run
Run under Linux ./bfgminer \ -S ICA:/dev/ttyACMx \ -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 \ --set-device ICA:baud=115200 \ --set-device ICA:reopen=timeout \ --set-device ICA:work_division=1 \ --set-device ICA:fpga_count=1 \ --set-device ICA:probe_timeout=100 \ --set-device ICA:timing=0.22 \ --api-listen \ 2>log
Run under Windows bfgminer.exe ^ -S ICA:\\.\COMn ^ -o stratum+tcp://stratum.ozco.in:80 -O mikeqin.avalon:1234 ^ --set-device ICA:baud=115200 ^ --set-device ICA:reopen=timeout ^ --set-device ICA:work_division=1 ^ --set-device ICA:fpga_count=1 ^ --set-device ICA:probe_timeout=100 ^ --set-device ICA:timing=0.22 ^ --api-listen ^ 2>log Note: See the details about the timing in README. It works ~4GH/s(400 * 11.8) at 400MHz. timing = (1 / (4 * 10 ** 9)) * 10 ** 9 (python format)
- MHS Cur calculation
MHS Cur = Diff1 Work * (Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale)) * 60/ Elapsed * 71582788 / 1000000 Note: 1.if Difficulty Accepted + Difficulty Rejected + Difficulty Stale = 0,then Difficulty Accepted / (Difficulty Accepted + Difficulty Rejected + Difficulty Stale) = 1。 2.Get all the infomation through ./bfgminer-rpc -o summary
- BFGMiner release from luck.dashjr
http://luke.dashjr.org/programs/bitcoin/files/bfgminer/
AvalonMiner
It is developed under Windows with Chinese UI only, You can import the solution and crack it by yourself. It is distributed under UNLICENSE.Source code can be download here: [1]
Release
- Avalon3 nano windows miner(20140911)
- Beautifull GUI
- Auto detect Avalon nano
- Avalon3 nano windows miner(20140803) first version
- Support bfgminer only
- Support icarus protocal
Run or Debug with CLI
- Copy BfgMiner to a safe place.
- Uninstall Avalon GUI Miner
- Modify the icadbg.cmd(under BfgMiner folder) with your correct com port.
- Double click icadbg.cmd.
Note: BFGMiner location: (C:\Program Files (x86)\Avalon Nano\BfgMiner)
Hardware
Schematics
LPC11U14 Spec
Type | Infomation |
Processor | NXP's Cortex-M0 LPC11U14 microcontroller |
Flash | 32 kB |
Data Memory | 6 kB |
Clock Crystals | 12.000 MHz crystal for CPU |
Clock
Type | Value |
LPC11U14 (External) | 48.000 MHz |
A3233 XCLK (From LPC11U14) | 24.000 MHz |
LED
Color | Memo |
Green | Idle status |
Red/Blue | Working (Frequency high -> low,led red -> blue) |
Red blinking | Overheating |
Programmer
- SmartPro 5000U-Plus
SWD Debuger
LPC11U14 only support swd debug. The debugger can also be used to program the LPC11U14 chip.
LPCXpresso
- Installation and Activation
LPCXpresso download link [2] Free Edition is enough. Then activate it. [3]
- LPC-Link diagnostics
Diagnostics when connecting to LPC-Link 1. lpc-link info crt_emu_lpc11_13_nxp -info-emu -wire=winusb 2. target info crt_emu_lpc11_13_nxp -info-target -pLPC11U14/201 -wire=winusb -4 3. burn and run axf file crt_emu_lpc11_13_nxp -pLPC11U14/201 -wire=winusb -flash-load-exec nxp_lpcxpresso_11u14_periph_blinky.axf 4. info scan crt_emu_lpc11_13_nxp -info-scan -wire=winusb 5. semi_host debug use newlib semihost
- How to debug issues with gdb (Works on OSX)
Compile the souce with debug, then run gdb with the following commands: 1.arm-none-eabi-gdb avalon_nano.axf 2.target extended-remote | crt_emu_cm_redlink -g -2 -vendor=NXP -pLPC11U14/201 -flash-driver=LPC11_12_13_32K_4K.cfx 3.load Then you can use gdb as you want
ULINK 2
- Configure ULINK2 for LPCXpresso
1.Change boot mode to CMSIS-DAP Use the Boot Mode Utility to change the mode like this: UL2_Configure B1. 2.Set jumper to 3.3V position See Jumpers 3.Connect Avalon nano to ULINK2 Check SWD Connector Pinout, need connect SCLK,SWIO,GND only.
Firmware
Reflash
- Avalon3 nano firmware burner [4]
Release
- Avalon3 nano firmware(20140523-dd84b993)
- Support nonce receive timeout check
- Support adjust freq for 100Mhz to 360Mhz,freq value after reset is 360Mhz
- Avalon3 nano firmware(20140519-8c38877c):first version
- Avalon3 nano test scripts found here:a3233_avalon_usb_testbench.sh
- Support adjust freq for 360Mhz to 400Mhz,value after reset is 400Mhz
- Include avalon3 nano module test(avalon_bsp_testben)
- bfgminer(0676fa314a9cc1491ad2e5f5c6a5e97f38fa67e3),how to run:http://wiki.0xf8.com/index.php/Bfgminer
- NOTICE: Only for testing
- Adjust LED color according to the temperature
Review
Issues
- OpenOCD is not support ULINK2 (See src/jtag/drivers/ulink.c)
References
Links
- LPC11U1X User Manual
- LPCOpen sourcecode
- LPCOpen docs
- LPC11U14 Rev A Schematic
- Errata sheet LPC11U1x
- Using command line GDB
- Baremetal programming
- ULINK2
- LPC-Link
- About CMSIS-DAP
- Porting the CMSIS-DAP debugger to the Cortex-M0 platform
- LPC11U14 ARM Cortex-M0 Board
- In-Application Programming (IAP) Code Example
- Software for flashing / upgrading firmware
- LPCXpresso (SWD method)
- Target Connectors