Porównaj commity

...

15 Commity

Autor SHA1 Wiadomość Data
Arjan te Marvelde 220a2d9c7e
Update README.md 2022-07-06 22:48:16 +02:00
Arjan te Marvelde 9e0cfa78b8
Update README.md 2022-07-06 22:45:34 +02:00
Arjan te Marvelde bcaa63d9e7
Update README.md 2022-07-06 22:43:58 +02:00
Arjan te Marvelde 2b565be522
Update README.md 2022-07-06 22:42:47 +02:00
Arjan te Marvelde 562d8c60fb
Update README.md 2022-07-06 22:41:40 +02:00
Arjan te Marvelde 4a10fc991f
Update README.md 2022-07-06 22:22:46 +02:00
Arjan te Marvelde 6a6e6eb3ad
Update README.md 2022-07-06 22:19:29 +02:00
Arjan te Marvelde 038d7bae8c
Update README.md 2022-07-06 22:17:47 +02:00
Arjan te Marvelde 12adb23a8c
Update README.md 2022-07-06 22:17:10 +02:00
Arjan te Marvelde 75cd3cacd4
Update README.md 2022-07-06 22:15:50 +02:00
Arjan te Marvelde 790a9d4093
Update README.md 2022-07-06 22:12:52 +02:00
Arjan te Marvelde 7e6ebf0057
Update README.md 2022-07-06 22:10:45 +02:00
Arjan te Marvelde 044867b8d8
Update README.md 2022-07-06 21:58:30 +02:00
Arjan te Marvelde 7795ca7f27
Update README.md 2022-07-06 21:56:53 +02:00
Arjan te Marvelde 41131344a0
Update README.md 2022-07-06 21:54:47 +02:00
1 zmienionych plików z 99 dodań i 11 usunięć

110
README.md
Wyświetl plik

@ -31,26 +31,114 @@ The display is a standard 16x2 LCD, but with an I2C interface. The display is co
- [x] add frequency domain processing
## Installing and using the SDK for Windows:
Please refer to https://github.com/ndabas/pico-setup-windows/releases where the latest installer can be downloaded (e.g. **pico-setup-windows-0.3-x64.exe**).
Execute the installer to set up the SDK environment, e.g. in **~/Documents/Pico** (let's call this folder **$PICO**).
You can upgrade the SDK to the latest version by replacing the complete **$PICO/pico-sdk** folder with the newer version. The latest version is on Github: https://github.com/raspberrypi/pico-sdk (download code as zip, extract the **pico-sdk-master** folder from it, rename it to **pico-sdk** and use it to replace the original)
For setting up the C/C++ build environment for Windows, you can follow the procedure as described in the Raspberry [Getting Started](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) document. This document also refers to a [setup script](https://github.com/ndabas/pico-setup-windows), but that seemed to be broken.
## Building uSDR-pico:
Clone/copy the uSDR-pico code files into a subdirectory: **$PICO/uSDR-pico**
### Manual installation.
Doing it manually, first download the latest packages, in my case for Windows 10 on a 64 bit PC:
[ARM GNU toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads) (choose the file ending on *arm-non-eabi.exe*)
[CMake](https://cmake.org/download/)
[VS Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022)
[Python](https://www.python.org/downloads/windows/) (I wonder, do we actually need this for C/C++ environment?)
[Git](https://git-scm.com/download/win)
I use [Notepad++](https://notepad-plus-plus.org/downloads/) as editor for my source files, since I don't like the VS IDE, so I recommend to install this before anything else.
The installation, step by step, listing the choices I made:
**-1- ARM GNU toolchain**
Start the installer
- Language: English
- Next
- I Agree
- Folder as proposed, Install
- Tick the box: "Add path to environment variable", Finish
If the installer complains, you can also add the folder location manually to the system path (something like "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\11.2 2022.02")
**-2- CMake**
Start the installer
- Next
- Accept, Next
- Tick the box: "Add CMake to path for all users", Next
- Folder as proposed, Next
- Install
**-3- VS Build Tools (Installer)**
Start the loader/installer
- Continue
- Select: "Desktop development with C++", Install (this takes a while...)
Close the window when done
**-4- Python**
Start the installer
- Tick the boxes: "Add Python ... to PATH" and "Install for all...", Install now
**-5- Git**
Start installer
- Next
- Use proposed path, Next
- Defaults, Next
- Default Start menu folder, Next
- Use Notepad++ as default editor, Next
- Let Git decide, Next
- Git from the commandline and 3rd party software, Next
- Use bundled SSH, Next
- Use the OpenSSL library, Next
- Checkout as-is, commit as-is, Next
- Use Windows default console, Next
- Default, Next
- Git Credential manager, Next
- Enable file system caching, Next
- Enable experimental support for pseudo consoles, Next
- Finish
**-6- Get Pico SDK and examples from Github**
Open a Windows command prompt, then use it to setup the folder structure (for example, "C:\Users\name\Documents\Pico"):
```
mkdir <target folder>
chdir <target folder>
git clone -b master https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.git
```
**-7- Setup the build environment**
Open a Visual Studio Developer Command Prompt from the Start menu
Define some environment variables manually (these were not set right during installation)
```
setx PICO_SDK_PATH "<target folder>\pico-sdk"
setx PICO_TOOLCHAIN_PATH "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\11.2 2022.02"
```
Note that the actual ARM toolchain folder may be different: check it first!
Close this VS Developer Command Prompt window
## Building uSDR-pico:
Let's call our *target folder* **$PICO** from now on.
Create the folder **$PICO/uSDR-pico**
Clone/copy the uSDR-pico code files into **$PICO/uSDR-pico**
Copy the file **$PICO/pico-sdk/pico_sdk_import.cmake** into this folder too, it contains the global cmake instructions
Create the build folder: **$PICO/uSDR-pico/build**
Before the first build you need to check and adapt the file **$PICO/uSDR-pico/CMakeLists.txt**, using your favourite editor, to make sure it reflects your own directory structure. Also in this file, select whether you want **stdio** to use the UART on pins 1 and 2 or the USB serial port. The monitor terminal is on **stdio**. This is needed because CMakeLists.txt directs CMake in the creation of your make environment. In fact, every time you change something in CMakeLists.txt (like adding another source file to the build) you will have to delete the build folder and re-issue CMake.
In **$PICO/** you will find a command to start a **Developer Command Prompt for Pico** (*DCP*, like a "DOS box"), make sure to use this one instead of any other DOS box. Within this *DCP* all environment settings have been properly set to enable the building process.
Before the first build you need to check and adapt the file **$PICO/uSDR-pico/CMakeLists.txt**, using your favourite editor, to make sure it reflects your own directory structure. Also in this file, select whether you want **stdio** to use the UART on pins 1 and 2 or the USB serial port. The monitor terminal is on **stdio**. This is needed because CMakeLists.txt directs CMake in the construction of your nmake environment. In fact, every time you change something in CMakeLists.txt (like adding another source file to the build) you will have to swipe the build folder and re-issue cmake.
All building is using the Visual Studio NMake, so it has to be done from a **VS Developer Command Prompt for Pico** (*DCP*). This is found in the Start menu under VS 2022, and it is best to copy a shortcut in a more convenient place. Then the startup folder property in the shortcut can be changed to for example **$PICO**. Within this *DCP* all environment settings have been properly set to enable the building process.
In the *DCP* window, chdir to the **build** folder and execute: **cmake -G "NMake Makefiles" ..** (do not forget the trailing dots, it points to the folder containing CMakeLists.txt).
Now you have initialized the make environment (for *nmake*) and by executing **nmake** in that same **build** folder, all SDK libraries and finally the Pi Pico loadable file **uSDR.uf2** will be created.
Rebooting the Pico while the bootsel button is pressed will open a file explorer window with the Pico shown as a Mass Storage Device (e.g. drive E:). Moving the binary to the Pico is as easy as dragging and dropping this uf2 file into that MSD.
Rebooting the Pico while the bootsel button is pressed will open a Windows Explorer window with the Pico shown as a Mass Storage Device (e.g. drive E:). Moving **uSDR.uf2** to the Pico is as easy as dragging and dropping this file into that MSD.
## Releases:
Stable packages are archived in zip files. The source files in the root folder are newest and could be used to replace files from the zip archive. There are pre-built UF2 files for three display types, which could be tried. However, there are too many differnt types and addresses, so it is better to build a fresh one for your own implementation.
The PCB files have been made with Eagle 5.11, and can be modified or otherwise re-used when needed. The CAM files for each board are packaged in separate zips, these can be used as-is to order PCBs.
# Background
The folder **$PICO/docs** also contains some manuals, of which the *C-SDK description*, the *RP2040 datasheet* and the *Pico Pinout* are absolute must-reads when you start writing software.
The folder **$PICO/docs** also contains some manuals, of which the *C-SDK description*, the *RP2040 datasheet* and the *Pico Pinout* are absolute must-reads when you start writing software. Note that this folder is only created by the **ndabas** script, after manual installation you should find these on the Raspberry website.
For calculating filters I have used the free software from Iowa Hills (http://www.iowahills.com/8DownloadPage.html)
I also used the online FIR filter calculator T-Filter (http://t-filter.engineerjs.com/)