Posts

Showing posts with the label Hardware

Building FreeBSD for BeagleBone Black

What you’ll need: • BeagleBone Black. • 5v power supply or Mini-USB cable. • Micro-SDHC card 4GB or larger. • FTDI cable Steps: 1) Download current FreeBSD image for BBB to working directory wget ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv7/ISO-IMAGES/12.0/FreeBSD-12.0-CURRENT-arm-armv7-BEAGLEBONE-20180215-r329338.img.xz 2) Uncompress the img.xz file and burn it to the sd card xzcat FreeBSD-12.0-CURRENT-arm-armv7-BEAGLEBONE-20180215-r329338.img.xz | dd of=/dev/sdb Note that you might need admin rights for above command. Also, verify that your sd card is at /dev/sdb change it if it's other then sdb. In caes of unavailability of xzcat command, just install it by installing xz utils.

Effect of file-system on sd card's performance

Image
I had a task to compare different protocols( and their different implementations) like SD, SPI, SDIO(in FreeBSD's MMCCAM implementation) by accessing SD Card. Now, for unbiased comparison, i must eliminate file system type in sd card from the equation. In this blog post, i'll discuss/share my findings about how file-system on a card(SD and MMC) affect its performance. So, let's start with a very quick introduction to some basic concepts: Introduction MMC- M ulti m edia C ard is a memory card unveiled in 1997 by SanDisk and Siemens based on NAND flash memory. eMMC is a regular MMC in a BGA package. SD Card: S ecure D igital Card was introduced in 1999 based on MMC but adding extra features such as security. INSIDE MMC [caption id="" align="alignright" width="321"] https://www.ibm.com/developerworks/linux/library/l-flash-filesystems/figure1.gif[/caption] MMC is made up of broadly 3 parts: MMC interface - Responsible for handling communi...

Detailed SDIO protocol Implementation

Image
Reference: Wikipedia, https://www.sdcard.org/developers/overview/sdio/sdio_spec/Simplified_SDIO_Card_Spec.pdf  SDIO cards are intended to provide high speed data Input/Output on our regular sd card slot. SDIO cards are compatible with any sd card slot and will not cause any physical damage to the host if it's not compatible with SDIO. When SDIO is plugged in a SDIO compatible host, in its early stage it is in low power mode and consumes very little current. Host identifies the SDIO card ,it's power requirement, it's I/O capabilities etc. If host finds that power requirement is manageable and there is driver for the I/O functionality card is offering it allows the SDIO card to power up completely and start it's I/O functions.  SDIO card allows up to 7 different I/O functions along with 1 memory function. It's available in market in 2 form factors: miniSDIO and full size SDIO. For example http://www.spectec.com.tw/sdw-822..html is a miniSDIO wifi card by spectec. Typ...

Understanding SD, SDIO and MMC Interface

Image
    In this blog post i will present the gist of the paper http://www.kaltech.co.il/pdf/Eureka_sd_wp1.pdf ,  It's crucial for anyone willing to understand how removable devices like sd card work, different protocols/functionalities they support. Secure Digital (SD) memory card today, is one of the most popular non-volatile removable data storage media for consumer applications. It's not intended to remove hard-disk. Hard-disk can still deliver much better speed and memory capacity. SD card is used in applications demanding optimum memory capacity, smaller size, and low end product cost.  The combination of small foot print, lower cost and optimal performance contributed in SD-card's success. What is MultiMedia Card (MMC)? MMC and Sd-card share many common features and have the same physical and electrical specifications. The differences between the two standards are mainly on the software level commands. The similarities allow many hosts to accept both MMC and SD cards on ...

Building and testing RTEMS-libbsd for BeagleBone Black BSP

------------------------------------------------------------------------ Building and testing libbsd for BeagleBone Black BSP ------------------------------------------------------------------------ == Installation overview == === Initial setup === - Jump into your workspace and make a directory named sandbox This folder will contain all our project files - cd sandbox/ - export sandbox=$PWD - git clone git://git.rtems.org/rtems-source-builder.git - git clone git://git.rtems.org/rtems.git - git clone git://git.rtems.org/rtems-libbsd.git === Building desired toolset for ARM === - cd rtems-source-builder/rtems/ - ../source-builder/sb-check - ../source-builder/sb-set-builder --prefix=$sandbox/5 5/rtems-arm - cd $sandbox - export PATH=$PWD/5/bin:$PATH After having required toolchain, we can now proceed towards building our Board Support Package(BSP) === Building Beagleboneblack BSP === - cd $sandbox - mkdir beagleboneblack - cd rtems - ./bootstrap -c &&  ./bootstrap - ../rtems-sourc...

Introduction to RF communication

Image
This post introduces the basics of RF communication along with various band specifications used for wireless communication. It also covers comparison of  different bands on basis of their data rates and other parameters. Content Introduction Available frequency Bands Types of RF communication Different wireless protocols Introduction Now a days, we are surrounded by a large number of wireless devices working on different protocols, on different frequency bands thus utilizing almost whole of the "Radio-wave" frequency spectrum. Adhering to it's high density, complete frequency spectrum can be divided into different groups and each group can be further divided into different channels. TI education program http://81.4.107.225/wordpress/wp-content/uploads/2017/10/706afe69127.gif Considering the above distribution, most of the wireless devices works in the VHF and UHF bands. Working on such high frequencies has some of it's renowned advantages like decreased an...

Introduction to FRDM KL46Z and KDS

Image
Year ago, i wrote a tutorial on getting started with freescale's FRDM KL46Z development board. since then it was just a draft, today, i thought of updating and releasing it. So, here it is: But first of all, a very brief introduction of the development board and OpenSDA FRDM KL46Z Features MKL46Z256VLL4MCU – 48 MHz, 256 KB flash, 32 KB SRAM, segment LCD, USB OTG (FS) , 100 LQFP Capacitive touch slider, MMA8451Q accelerometer, MAG3110 magnetometer Flexible power supply options – USB, coin cell battery, external source Easy access to MCU I/O Battery-ready, power-measurement access points Form factor compatible with Arduino ™ R3 pin layout OpenSDA debug interface Mass storage device flash programming interface (default) – no tool installation required to evaluate demo apps P&E debug interface provides run-control debugging and compatibility with IDE tools CMSIS-DAP interface: new ARM standard for embedded debug interface   WHY FRDM KL46Z ???   ...