ARM-Guide
ARM Guide
https://github.com/mikeroyal/ARM-Guide
Last synced: 6 days ago
JSON representation
-
C/C++ Learning Resources
- C - purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. It supports structured programming, lexical variable scope, and recursion, with a static type system. C also provides constructs that map efficiently to typical machine instructions, which makes it one was of the most widely used programming languages today.
- Embedded C - committee) to address issues that exist between C extensions for different [embedded systems](https://en.wikipedia.org/wiki/Embedded_system). The extensions hep enhance microprocessor features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. This makes Embedded C the most popular embedded software language in the world.
- C & C++ Developer Tools from JetBrains
- Open source C++ libraries on cppreference.com
- C++ Graphics libraries
- C++ Libraries in MATLAB
- Google C++ Style Guide
- Introduction C++ Education course on Google Developers
- C++ style guide for Fuchsia
- Chromium C++ Style Guide
- C++ Core Guidelines
- C++ Style Guide for ROS
- Learn C++
- Learn C : An Interactive C Tutorial
- C++ Online Training Courses on LinkedIn Learning
- C++ Tutorials on W3Schools
- Learn C Programming Online Courses on edX
- Learn C++ with Online Courses on edX
- Learn C++ on Codecademy
- Coding for Everyone: C and C++ course on Coursera
- C++ For C Programmers on Coursera
- C++ Online Courses on Udemy
- Top C Courses on Udemy
- Basics of Embedded C Programming for Beginners on Udemy
- C++ For Programmers Course on Udacity
- C++ Fundamentals Course on Pluralsight
- C++ - platform language that can be used to build high-performance applications developed by Bjarne Stroustrup, as an extension to the C language.
- C++ Tools and Libraries Articles
- C++ Style Guide for ROS
-
C/C++ Tools
- Visual Studio - rich application that can be used for many aspects of software development. Visual Studio makes it easy to edit, debug, build, and publish your app. By using Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, and Windows Store.
- Visual Studio Code
- ReSharper C++
- AppCode - fixes to resolve them automatically. AppCode provides lots of code inspections for Objective-C, Swift, C/C++, and a number of code inspections for other supported languages. All code inspections are run on the fly.
- CLion - platform IDE for C and C++ developers developed by JetBrains.
- Code::Blocks
- Conan
- High Performance Computing (HPC) SDK
- Boost - edge C++. Boost has been a participant in the annual Google Summer of Code since 2007, in which students develop their skills by working on Boost Library development.
- Automake
- Cmake - source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
- GDB
- GCC - C, Fortran, Ada, Go, and D, as well as libraries for these languages.
- GSL - squares fitting. There are over 1000 functions in total with an extensive test suite.
- OpenGL Extension Wrangler Library (GLEW) - platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform.
- Libtool
- Maven
- TAU (Tuning And Analysis Utilities) - based sampling. All C++ language features are supported including templates and namespaces.
- Clang - C, C++ and Objective-C++ compiler when targeting X86-32, X86-64, and ARM (other targets may have caveats, but are usually easy to fix). Clang is used in production to build performance-critical software like Google Chrome or Firefox.
- OpenCV - time applications. Cross-Platform C++, Python and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
- ANTLR (ANother Tool for Language Recognition)
- Oat++ - efficient web application. It's zero-dependency and easy-portable.
- Cython
- Infer - C, and C. Infer is written in [OCaml](https://ocaml.org/).
- Vcpkg
- CppSharp
- Thrust - level interface greatly enhances programmer productivity while enabling performance portability between GPUs and multicore CPUs. Interoperability with established technologies such as CUDA, TBB, and OpenMP integrates with existing software.
- JavaCPP
- Spdlog - only/compiled, C++ logging library.
-
Containers
- Kubernetes - source container-orchestration system for automating application deployment, scaling, and management. It was originally designed by Google, and is now maintained by the Cloud Native Computing Foundation.
- Rook - native storage orchestrator for Kubernetes that turns distributed storage systems into self-managing, self-scaling, self-healing storage services. It automates the tasks of a storage administrator: deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.
- Open Container Initiative
- Docker - level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. All containers are run by a single operating-system kernel and are thus more lightweight than virtual machines.
- Buildah
- Podman
- Containerd - level storage to network attachments and beyond. It is available for Linux and Windows.
-
FPGA Learning Resources
- FPGA(Field Programmable Gate Arrays)
- FPGA & SoC Design Tools from Microsemi
- FPGA Courses on Coursera
- FPGA Courses on Udemy
- FPGA Online Training Courses on LinkedIn Learning
- UMass Lowell's Graduate Certificate in Field Programmable Gate Arrays(FPGA)
- FPGAs & SoCs Training from Microsemi
- SiFive FPGA shells
- DSP fundamentals for FPGAs course from MATLAB and Simulink Training
- FPGA Design Fundamentals Course (UC San Diego Extension)
- FPGA II Course (UC San Diego Extension)
- Programming and FPGA Basics - INTEL® FPGAS
- Intel FPGA Training Program
- FPGA Design Fundamentals Course (UC San Diego Extension)
- FPGA II Course (UC San Diego Extension)
- TinyFPGA - cost, [open source FPGA boards](https://github.com/tinyfpga) in a tiny form factor.
- QuickLogic Embedded FPGA (eFPGA) Intellectual Property (IP) and Software
- FPGA for Beginners with Development Boards from Digilent®
- Hundreds of FPGA Projects on Instructables
- FPGA Fundamentals from NI(National Instruments)
- Getting Started With LabVIEW FPGA from NI(National Instruments)
-
FPGA Tools
- LLVM - end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).
- TinyGo - line tools.
- Chipyard - based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other [Berkeley](https://berkeley.edu/) projects to produce a RISC-V SoC with everything from MMIO-mapped peripherals to custom accelerators.
- Renode
- Diosix - metal hypervisor written in Rust for RISC-V.
- FuseSoC - winning package manager and a set of build tools for HDL (Hardware Description Language) code and FPGA/ASIC development.
- OpenWiFi - source IEEE802.11/Wi-Fi baseband chip/FPGA design.
- PipeCNN - based FPGA Accelerator for Large-Scale Convolutional Neural Networks (CNNs). Currently, there is a growing trend among developers in the FPGA community to utilize High Level Synthesis (HLS) tools to design and implement customized circuits on FPGAs.
- The Eclipse Embedded CDT - ins for Arm & RISC-V C/C++ developers.
- Unicorn - platform, multi-architecture CPU emulator framework(ARM, AArch64, M68K, Mips, Sparc, X86) based on [QEMU](https://www.qemu.org/).
- Keystone - platform, multi-architecture(Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) assembler framework.
- Reko
- Tock - M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers.
- LLVM - end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).
- LabVIEW FPGA - on for LabVIEW that you can use to more efficiently and effectively design FPGA-based systems through a highly integrated development environment, IP libraries, a high-fidelity simulator, and debugging features.
- Verilator - source SystemVerilog simulator and lint system.
-
Java Learning Resources
- Java
- The Eclipse Foundation
- Getting Started with Java
- Oracle Java certifications from Oracle University
- Java Tutorial by W3Schools
- Getting Started with Java in Visual Studio Code
- Google Java Style Guide
- Chromium Java style guide
- Get Started with OR-Tools for Java
- Gradle User Manual
- Google Developers Training
-
Kubernetes Learning Resources
- Getting started with Kubernetes on AWS
- Getting started with Google Cloud
- Getting started with Kubernetes on Red Hat
- YAML basics in Kubernetes
- Elastic Cloud on Kubernetes
- Simplify Machine Learning Inference on Kubernetes with Amazon SageMaker Operators
- Kubernetes Across VMware vRealize Automation
- VMware Tanzu Kubernetes Grid
- All the Ways VMware Tanzu Works with AWS
- VMware Tanzu Education
- Using Ansible in a Cloud-Native Kubernetes Environment
- Setting up a Kubernetes cluster using Vagrant and Ansible
- Kubernetes Fluentd
- Understanding the new GitLab Kubernetes Agent
- Kubernetes Contributors
- KubeAcademy from VMware
- PyTorch
- Azure Databricks - based big data analytics service designed for data science and data engineering. Azure Databricks, sets up your Apache Spark environment in minutes, autoscale, and collaborate on shared projects in an interactive workspace. Azure Databricks supports Python, Scala, R, Java, and SQL, as well as data science frameworks and libraries including TensorFlow, PyTorch, and scikit-learn.
- Apache MXNet
- Docker and Kubernetes
- Kubernetes on Microsoft Azure
- YAML basics in Kubernetes
-
ML frameworks & applications
- Scikit-Learn
- Amazon SageMaker
- Open Neural Network Exchange(ONNX) - in operators and standard data types.
- Anaconda
- Jupyter Notebook - source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Jupyter is used widely in industries that do data cleaning and transformation, numerical simulation, statistical modeling, data visualization, data science, and machine learning.
- Azure Databricks - based big data analytics service designed for data science and data engineering. Azure Databricks, sets up your Apache Spark environment in minutes, autoscale, and collaborate on shared projects in an interactive workspace. Azure Databricks supports Python, Scala, R, Java, and SQL, as well as data science frameworks and libraries including TensorFlow, PyTorch, and scikit-learn.
- PlaidML
- OpenCV - time computer vision applications. The C++, Python, and Java interfaces support Linux, MacOS, Windows, iOS, and Android.
- Theano - dimensional arrays efficiently including tight integration with NumPy.
- nGraph - of-use to AI developers.
- AutoGluon - accuracy deep learning models on tabular, image, and text data.
- TensorFlow Lite - device machine learning inference with low latency and a small binary size.
-
Models of FPGA Boards
-
Networking Learning Resources
- Citrix Certified Associate – Networking(CCA-N)
- Citrix Certified Professional – Virtualization(CCP-V)
- CCNP Routing and Switching
- Certified Information Security Manager(CISM)
- Wireshark Certified Network Analyst (WCNA)
- AWS Certified Security - Specialty Certification
- Cisco Security Certifications
- The Red Hat Certified Specialist in Security: Linux
- Linux Professional Institute LPIC-3 Enterprise Security Certification
- Networking courses and specializations from Coursera
- Network & Security Courses from Udemy
- Network & Security Courses from edX
- Cisco Security Certifications
- Cybersecurity Courses and Certifications by Offensive Security
- Linux Professional Institute LPIC-3 Enterprise Security Certification
-
Online ML Learning Resources
-
Operating System
- Rust on Chrome OS
- Kubernetes.io
- Amazon EKS
- AWS Controllers for Kubernetes (ACK) - available Kubernetes applications that utilize AWS services.
- Odo
- Thanos
- Kubespray - sigs/kubespray/blob/master/docs/aws.md), GCE, [Azure](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/azure.md), [OpenStack](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/openstack.md), [vSphere](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vsphere.md), [Packet](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/packet.md) (bare metal), Oracle Cloud Infrastructure (Experimental), or Baremetal.
- Helm
- Knative - based platform to build, deploy, and manage modern serverless workloads. Knative takes care of the operational overhead details of networking, autoscaling (even to zero), and revision tracking.
- KubeFlow
- Etcd - value store that provides a reliable way to store data that needs to be accessed by a distributed system or cluster of machines. Etcd is used as the backend for service discovery and stores cluster state and configuration for Kubernetes.
- OpenEBS - based tool to create stateful applications using Container Attached Storage.
- Container Storage Interface (CSI) - in.
- MicroK8s - the-air updates for ultra-reliable operations. It is supported on Linux, Windows, and MacOS.
- Lens
- kind
- Flux CD
- Container Engine for Kubernetes (OKE) - managed container orchestration service that can reduce the time and cost to build modern cloud native applications. Unlike most other vendors, Oracle Cloud Infrastructure provides Container Engine for Kubernetes as a free service that runs on higher-performance, lower-cost compute.
- OKD - tenant deployment. OKD adds developer and operations-centric tools on top of Kubernetes to enable rapid application development, easy deployment and scaling, and long-term lifecycle maintenance for small and large teams.
- Bottlerocket OS - source Linux-based operating system meant for hosting containers. Bottlerocket focuses on security and maintainability, providing a reliable, consistent, and safe platform for container-based workloads.
- Azure Kubernetes Service (AKS) - grade security and governance. Unite your development and operations teams on a single platform to rapidly build, deliver, and scale applications with confidence.
- Kata Operator
- OpenShift Hive
- VMware Tanzu
- KubeInit
- Rancher
- K3s - constrained, remote locations or inside IoT appliances.
- Grafana Kubernetes App
Categories
Tools
38
C/C++ Tools
29
Operating System
29
C/C++ Learning Resources
29
Python Frameworks and Tools
25
Tools for Robotics
25
Kubernetes Learning Resources
22
FPGA Learning Resources
21
Rust Tools
19
FPGA Tools
16
Networking Learning Resources
15
Robotics Learning Resources
14
Telco Learning Resources
13
ML frameworks & applications
12
Python Learning Resources
12
Java Learning Resources
11
Verilog/SystemVerilog Tools
11
Verilog/SystemVerilog Learning Resources
11
Containers
7
Rust Learning Resources
7
Virtualization
7
Models of FPGA Boards
5
Online ML Learning Resources
4
Protocols
1
License
1
Sub Categories
Keywords
python
15
rust
11
java
7
cpp
5
ros
5
deep-learning
5
verilog
4
framework
4
arm
4
fpga
4
package-manager
3
ai
3
artificial-intelligence
3
reverse-engineering
3
computer-vision
3
hardware
3
web
3
android
3
c
3
x86
3
x86-64
3
neural-network
3
cli
3
http
3
robotics
2
embedded
2
risc-v
2
linux
2
arm64
2
c-plus-plus
2
m68k
2
mips
2
powerpc
2
kotlin
2
web-framework
2
rest
2
security
2
systemz
2
sparc
2
visual-studio
2
performance
2
compiler
2
deep-neural-networks
2
pytorch
2
tensorflow
2
cpp17
2
eda
2
cplusplus
2
cpp11
2
autonomous-vehicles
2