<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kali Prasad</title><link>https://kprasadvnsi.com/</link><description>Recent content on Kali Prasad</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>© 2020 Kali Prasad</copyright><lastBuildDate>Sat, 28 Dec 2019 00:00:00 +0000</lastBuildDate><atom:link href="https://kprasadvnsi.com/index.xml" rel="self" type="application/rss+xml"/><item><title>CH559 Programming (Part 5): Working with GPIO</title><link>https://kprasadvnsi.com/posts/bare-metal-ch559-pt5/</link><pubDate>Thu, 02 Apr 2020 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/bare-metal-ch559-pt5/</guid><description>In this part, we will go through GPIO in detail. we had briefly touched upon GPIOs in our first tutorial. Now we will rewrite the LED blink example in a more structured way later in this tutorial.
CH559 has 45 I/O pins, some of them have alternative functions. All the GPIOs are group into ports of up to 8 pins. P0 to P3 all registers for the GPIO are bit addressable.</description></item><item><title>CH559 Programming (Part 4): Using UART</title><link>https://kprasadvnsi.com/posts/bare-metal-ch559-pt4/</link><pubDate>Tue, 31 Mar 2020 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/bare-metal-ch559-pt4/</guid><description>After toggling some I/O pins, the first thing you should get up and running on a new platform is UART. CH559 chip provides two full-duplex asynchronous serial ports: UART0 and UART1. UART0 is a standard MCS51 serial port, and UART1 is an enhanced asynchronous serial port with a lot of features that we talk about in future tutorials.
We need the datasheet for register definitions. WCH only provides Datasheet in Chinese.</description></item><item><title>CH559 Programming (Part 3): Memory Organization</title><link>https://kprasadvnsi.com/posts/bare-metal-ch559-pt3/</link><pubDate>Mon, 30 Mar 2020 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/bare-metal-ch559-pt3/</guid><description>In this part, we are going to learn about the CH559 memory structure and how the various part of memory will be accessed. The CH559 is an 8051 based microcontroller so the basic methods of accessing memory are also applicable here.
The CH559 has four distinct types of memory – iRAM (internal RAM), SFR (special function registers), ROM (program memory), and xRAM (external data memory).
Internal RAM Internal RAM (iRAM) has an 8-bit address space, using addresses 0x00 through 0xFF.</description></item><item><title>CH559 Programming (Part 2): Using Makefile</title><link>https://kprasadvnsi.com/posts/bare-metal-ch559-pt2/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/bare-metal-ch559-pt2/</guid><description>In this part, we are going to organize and clean our LED blink example that we wrote in the Part-1 and automate the building process using GNU Make. Complete source code is also available on this GitHub Repo.
We start by creating a directory named ch559. Inside directory ch559 will make another directory lib and examples. The final directory structure will look similar to the image shown below.
Under the lib directory, we will create a header file ch559.</description></item><item><title>CH559 Programming (Part 1): Setup and blinky</title><link>https://kprasadvnsi.com/posts/bare-metal-ch559-pt1/</link><pubDate>Tue, 24 Mar 2020 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/bare-metal-ch559-pt1/</guid><description>The CH559 is a cheap 8051 based microcontroller with USB Host/Device capability and comes with plenty of Peripherals. CH559 is the most advance MCU in the CH55x series, the reason I am starting with the most advanced one because it is a Flash variant unlike other MCUs in the CH55x series.
In this tutorial, we will learn the bare minimum to get started without using any vendor-supplied libraries. I will start by getting to know the hardware and toolchain, later will write a simple LED blink example.</description></item><item><title>About</title><link>https://kprasadvnsi.com/about/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/about/</guid><description>Nothing about me here. Find my Twitter profile.</description></item><item><title>Welcome to My Blog!</title><link>https://kprasadvnsi.com/posts/welcome/</link><pubDate>Sat, 28 Dec 2019 00:00:00 +0000</pubDate><guid>https://kprasadvnsi.com/posts/welcome/</guid><description>Its time I start documenting my thought about various subjects. It will be mostly technical stuff and DIY projects.</description></item></channel></rss>