sigrok

https://sigrok.org/wiki/Downloads

https://sigrok.org/wiki/Supported_hardware#Logic_analyzers (only a subset listed)

rgb_led_spi RGB LED string decoder (SPI)
rgb_led_ws281x RGB LED string decoder (WS281x)
rtc8564 Epson RTC-8564 JE/NB
sda2506 Siemens SDA 2506-5
sdcard_sd Secure Digital card (SD mode)
sdcard_spi Secure Digital card (SPI mode)
spdif Sony/Philips Digital Interface Format
spi Serial Peripheral Interface
spiflash SPI flash chips
ssi32 Synchronous Serial Interface (32bit)
st7735 Sitronix ST7735
stepper_motor Stepper motor position / speed
swd Serial Wire Debug
swim STM8 SWIM bus
t55xx RFID T55xx
tca6408a Texas Instruments TCA6408A
timing Timing calculation with frequency and averaging
tlc5620 Texas Instruments TLC5620
uart Universal Asynchronous Receiver/Transmitter
usb_packet Universal Serial Bus (LS/FS) packet
usb_power_delivery USB Power Delivery
usb_request Universal Serial Bus (LS/FS) transaction/request
usb_signalling Universal Serial Bus (LS/FS) signalling
wiegand Wiegand interface
xfp 10 Gigabit Small Form Factor Pluggable Module (XFP)
z80 Zilog Z80 CPU

https://opentechlab.org.uk/videos:001:notes

How to connect the Pickit3 to sigrok:

https://sigrok.org/wiki/Microchip_PICkit2

https://www.reddit.com/r/electronics/comments/8ddnm8/i_might_be_starting_to_get_bored_of_prototyping/

How to use it with Logic Analyzer:

https://learn.sparkfun.com/tutorials/using-the-usb-logic-analyzer-with-sigrok-pulseview/all

And Pulseview does have a very impressive GUI and automated protocol identification capabilities:

(it can automatically identify the data, and protocol word meaning:

Advertisements

ARM MTE: “Memory Tagging and how it improves C/C++ memory safety”

As mentioned here:

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-a-profile-architecture-2018-developments-armv85a

A good substantial portion of hardware is now dedicated for security.

And described in detail here:

https://www.youtube.com/watch?v=lLEcbXidK2o

https://llvm.org/devmtg/2018-10/slides/Serebryany-Stepanov-Tsyrklevich-Memory-Tagging-Slides-LLVM-2018.pdf

Also covered in good details here:

https://lkml.org/lkml/2019/3/18/822

https://lkml.org/lkml/2018/8/9/764

https://lkml.org/lkml/2019/6/3/924

https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/enhancing-memory-safety

https://www.zdnet.com/article/google-arm-team-up-to-develop-new-ways-to-tackle-memory-vulnerabilities/

https://news.ycombinator.com/item?id=18370248

https://www.securityweek.com/google-arm-boost-android-security-memory-tagging-extension

https://www.androidpolice.com/2019/08/05/google-and-arm-are-developing-a-new-technology-to-mitigate-against-memory-vulnerabilities-in-android/

https://seqred.pl/en/memory-tagging-extension/

https://patchwork.kernel.org/cover/10804977/

https://www.infosecurity-magazine.com/news-features/google-to-use-arm-memory/

https://github.com/lucvoo/sparse-dev/commit/5f960cb10f56ec2017c128ef9d16060e0145f292

https://arxiv.org/pdf/1802.09517.pdf

http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html

https://www.youtube.com/watch?v=iP_iHroclgM

Other references:

https://msrnd-cdn-stor.azureedge.net/bluehat/bluehatil/2019/assets/doc/Trends%2C%20Challenges%2C%20and%20Strategic%20Shifts%20in%20the%20Software%20Vulnerability%20Mitigation%20Landscape.pdf

iCE40 HX8K Breakoutboard Unboxing

Receiving my breakout board today:

https://www.olimex.com/Products/FPGA/iCE40/iCE40HX8K-EVB/open-source-hardware

The procedures described for Olimex is good for us to follow:

https://www.olimex.com/wiki/ICE40HX1K-EVB#Get_started_under_Linux

Created the file “/etc/udev/rules.d/53-lattice-ftdi.rules” with the following contents:

ACTION==”add”, ATTR{idVendor}==”0403″, ATTR{idProduct}==”6010″, MODE:=”666″

Installing the OS + FPGA related programming software:

sudo apt-get install build-essential clang bison flex libreadline-dev \
gawk tcl-dev libffi-dev git mercurial graphviz \
xdot pkg-config python python3 libftdi-dev


# Installing the IceStorm Tools (icepack, icebox, iceprog, icetime, chip databases):

git clone https://github.com/cliffordwolf/icestorm.git icestorm
cd icestorm
make
sudo make install
cd ..

# Installing Arachne-PNR (the place&route tool):

git clone https://github.com/cseed/arachne-pnr.git arachne-pnr
cd arachne-pnr
make
sudo make install
cd ..

# Installing Yosys (Verilog synthesis):

git clone https://github.com/cliffordwolf/yosys.git yosys
cd yosys
make
sudo make install
cd ..

One of the tool built above is called “iceprog”, which will enable the following “blinky” firmware to be flashed onto the ICE40 board.

After building all the above, you can now plugin the USB wire to the ICE40 HX8K breakout board and connect to the PC.

Next is to build the blinky example.

First clone the ICE40 examples:

https://github.com/nesl/ice40_examples

And then go to the subdirectory “blinky” and start building:

https://gist.github.com/tthtlc/85c24df5a2c3cf9c439114976fdfaa8b

And next is flash it onto the ICE40 via USB (“make burn”):

And now the red lights is blinking.

But many other similar ICE40 variants may not necessary support FTDI:

https://stackoverflow.com/questions/41155354/some-questions-about-wires-with-private-name-in-yosys/41166318#41166318

https://stackoverflow.com/questions/36811099/iceprog-cant-find-ice-ftdi-usb-device

https://discourse.tinyfpga.com/t/solved-iceprog-doesnt-see-tinyfpga-b2/135

Next target could be building a small RISC-V CPU as described here:

https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-on-the-ice40-hx8k-fpga-breakout-board-part-1/

Reference:

User Guide:

https://www.latticesemi.com/-/media/LatticeSemi/Documents/UserManuals/EI/EB85.ashx?document_id=50373

Programming Guide:

http://www.latticesemi.com/~/media/LatticeSemi/Documents/ApplicationNotes/IK/iCE40ProgrammingandConfiguration.pdf

Where to buy:

https://www.digikey.com/product-detail/en/lattice-semiconductor-corporation/ICE40HX8K-B-EVN/220-1874-ND/4738851

https://www.latticesemi.com/~/media/LatticeSemi/Documents/Handbooks/iCE40FamilyHandbook.pdf

https://mjoldfield.com/atelier/2018/02/ice40-blinky-hx8k-breakout.html

https://github.com/abnoname/iceZ0mb1e

https://github.com/nesl/ice40_examples

https://github.com/FPGAwars/apio-examples

https://github.com/rwmjones/icestorm-flash-leds

More future work:

https://www.youtube.com/watch?v=SOn0g3k0FlE&t=19s

https://www.youtube.com/watch?v=UlgJ7TRU1KI

https://www.youtube.com/watch?v=ADJs89Np9A8

https://github.com/YosysHQ/nextpnr

https://github.com/YosysHQ/yosys

 

SIMtrace: Building a SIM card tracer

https://osmocom.org/projects/simtrace/wiki/SIMtrace

https://osmocom.org/projects/simtrace/wiki/SIMtrace_Firmware Olimex SAM7-P64

https://www.openpcd.org/

https://osmocom.org/projects/libosmocore/wiki/Libosmocore

https://www.youtube.com/watch?v=n2GSn9HrEQs

https://www.radiolocman.com/op/device.html?di=63109&/SAM7-P64

https://osmocom.org/projects/libosmocore/wiki/Libosmocore

https://www.youtube.com/watch?v=dEmzdnB7Mek&gl=SG&hl=en-GB

https://osmocom.org/projects/simtrace2/wiki

https://git.osmocom.org/simtrace2/

https://git.osmocom.org/simtrace2/tree/firmware/README.txt

http://osmocom.org/projects/simtrace2/wiki#SIMtrace-v2

http://osmocom.org/projects/simtrace2/wiki

Classic Programming (Free) E-books

https://www.openmymind.net/FoundationsOfProgramming.pdf
https://www.openmymind.net/2011/3/28/The-Little-MongoDB-Book/

https://www.openmymind.net/scaling-viki/

https://www.openmymind.net/2012/1/23/The-Little-Redis-Book/

Learning USB EEPROM Programmer and CH341A

https://www.youtube.com/watch?v=L0ChYNwunUE

https://www.youtube.com/watch?v=DWWigscuQDY

https://www.youtube.com/watch?v=2Y06x1f22B0

https://www.youtube.com/watch?v=DQQJGCixgvU

https://rarecomponents.com/store/ch341a-bios-eeprom-flash-programmer

https://www.canadarobotix.com/collections/arduino-and-accessories/products/136?variant=14423514349617

LLVM TableGen from Advanced course on compilers (Aalto University Wiki)

https://wiki.aalto.fi/display/t1065450/LLVM+TableGen

https://llvm.org/docs/TableGen/LangRef.html

https://llvm.org/devmtg/2012-04-12/Slides/Reed_Kotler.pdf

https://llvm.org/docs/TableGen/LangIntro.html

https://llvm.org/docs/TableGen/index.html

Astr0baby's not so random thoughts _____ rand() % 100;

@astr0baby on Twitter for fresh randomness

WildML

Artificial Intelligence, Deep Learning, and NLP

The Data Explorer

playing around with open data to learn some cool stuff about data analysis and the world

Conorsblog

Data | ML | NLP | Python | R

quyv

Just a thought

IFT6266 - H2017 Deep Learning

A Graduate Course Offered at Université de Montréal

Deep Learning IFT6266-H2017 UdeM

Philippe Paradis - My solutions to the image inpainting problem

IFT6266 – H2017 DEEP LEARNING

Pulkit's thoughts on the course project

ML/AI

Machine learning. Artificial Intelligence

the morning paper

a random walk through Computer Science research, by Adrian Colyer

The Spectator

Shakir's Machine Learning Blog

Everything about Data Analytics

big data, data analytics

Microcontrollers Lab

Microcontrollers tutorials and projects

%d bloggers like this: