Hardware is the physical medium on which software runs. It allows for software application code to run and provides the application various abilities such as communicating with sensors, battery charging circuits, Bluetooth, WiFi, etc.
Often times in hardware, especially when starting out, you’ll come across barriers that are seemingly impossible to cross. You might have tried looking through 10’s of forums, libraries and tutorials but you’re still unable to solve your problem. The best thing to do is to stop and then start at the very beginning. Look into the available documentation such as data sheets, refer to pin connection diagrams and pin functions, look into application notes provided by manufacturers and if you’re still unable to find a solution look for help. Either on forums or from experienced personnel using the same offerings. Each barrier you come across will improve your overall skills by leaps and bounds. So don’t despair. The hard in hardware can be overcome by hard work.
Yes. Hardware requires that you have a bare minimum infrastructure. Some of the most commonly used components tend to be:
DK - Development Kit
SES - Seeger Embedded Studio
BLE - Bluetooth Low Energy
Softdevice - Library provided by Nordic for BLE
Build - Compile the code to a binary
ARM Cortex M4 - A low power microprocessor
LED - Light Emitting Diode
Segger J-Link - A debugger for ARM based microcontrollers
COM - Communications
TTL - Transistor Transistor Logic
UART - Universal Asynchronous Receiver Transmitter
VDD - Voltage Drain Drain
Pin Initialisation - Assigning a function to a pin
Intervals - Timer intervals
PCLK - Prescaled Clock Source - Downscaled/Divided Clock Source
HFCLK - High Frequency Clock Source
SPI - Serial Peripheral Interface
I2C - Inter Integrated Circuit
IDE - Integrated Development Environment
GPIO - General Purpose Input/Output
CubeMX - Project initialisation tool by STM
HAL - Hardware Abstraction Layer
Power Profiler - A software used for measuring power consumption
LDO - Low Dropout Out Regulator
PCIe - Peripheral Component Interconnect Express
Kiel uVision - An IDE made by ARM for ARM based microcontrollers and SoC’s
GNU - GNU is not Unix