Working with ARM microcontroller using Keil uVision4

ARM Basics Advanced RISC Machine (ARM) is a family of reduced instruction set computing (RISC) architectures for computer processors, configured for various environments. Arm Holdings develops the architecture and licenses it to other companies, who design their own products that implement one of those architectures‍—‌including systems-on-chips (SoC) and systems-on-modules (SoM) that incorporate memory, interfaces, radios, etc. It also designs cores that implement this instruction set and licenses these designs to a number of companies that incorporate those core designs into their own products. Running ARM IC within simulator Download and install Keil uVision - MDK ARM Go to project in the menu bar anc click on new uVision Project. Select lpc2148 in the menu and click it. Disable startup file. Save the project in a new folder named something. This folder name can be changed accordingly but all the dependency file should correspnd to it. Within this folder create a newfile called as something.s. Copy and paste this code in something.s 1 2 3 4 5 6 7 8 AREA ONE, CODE, READONLY ENTRY MOV R0, #0X01 MOV R1, #0X02 ADD R2, R1, R0 L B L END Click one the source group on the left hand side and right click to add existing files… Add the something.s file, by checking the assembly files option Click translate first on the menu bar and then click build the second time. Now in the menu bar click on debug and then click start/stop debug session You can click run to run everything or click on step to run one line at a time More info about the lpc2148 The microcontroller lpc 2148 is a 32 bit memory controller. ...

November 20, 2023 · 15 min · 3006 words · Aum Pauskar

Web technologies - basic HTML/CSS/JS

Web notes FYI CSA: Client server architecture A web can be two tier, three tier, n tier having different applets for different purposes HTML: Hypertext markup lang, CSS: Cascading stylesheet, JS: Javascript P2P: Peer to peer architecture DOM: Document Object Model (DOM) is a file model wherein all the files are shown in a multiinterface structural model Tree stucture: A tree structure is a model where the start point is a single node but as we go down the model the number of nodess increase just like a tree. Misc &npsp: singlewhitespace Basics Structure of a HTML document A HTML document contents many tags called as elements. These elements are crutial in making a HTML document. This is the common structure of an HTML document. ...

November 17, 2023 · 24 min · 5062 words · Aum Pauskar

Static site generators with Hugo

Static site generators A short guide on how this site was created using hugo. Introduction There are multiple ways of creating of a website, if for example a simple site needs to be created with minimal content and updates a static site might be adequate, however if the site needs a frontend, backend and a database then a dynamic site is required. If the content is the only thing that matters and the content needs to be updated regularly then a static site generator is required. Multiple static site generators are avalable as open source projects, one of them is jeckyll from github and the other is hugo that is optimized for minmal loadtime. ...

November 17, 2023 · 7 min · 1390 words · Aum Pauskar

Database management and SQL

Sql documentation Installation The installation and usage of MySQL can be done in many ways; one is to install WAMP/XAMPP server and using SQL through it another is to use an online sql emulator, the best way is to use a MySQL server. Getting started with MySQL All the operations in SQL can be classified into 3 types DDL: Data definition language includes operation like create, alter, drop DML: Data manipulation language includes operation like select, insert, update, delete DCL: Data control language includes operations like commit, rollback, grant, revoke ...

November 16, 2023 · 10 min · 1996 words · Aum Pauskar

Basic DSA algorithms using C

A complete guide ds Termwork 1 - Infix evaluation Algorithm Create an empty stack (operandStack) to store operands and an empty stack (operatorStack) to store operators. Initialize a variable (result) to store the final output Iterate through each character of the infix expression. If the current character is an operand, add it to the operandStack. If the current character is an operator, pop operators from operatorStack and add them to operandStack until an operator with lower precedence is found. Then push the current operator onto operatorStack. If the current character is an opening parenthesis, push it onto operatorStack If the current character is a closing parenthesis, pop operators from operatorStack and add them to operandStack until an opening parenthesis is found. Repeat steps 3-7 for all characters of the infix expression. Once all characters have been processed, pop any remaining operators from operatorStack and add them to operandStack. Evaluate the final expression in operandStack and return the result. IO 1 2 3 4 5 6 7 8 9 10 11 12 * ➜ programs git:(ds) ✗ gcc tw1.c -lm && ./a.out * Output 1 * Enter the infix expression to evaluate: 5+7-4+3 * 11 * * Output 2 * Enter the infix expression to evaluate: 6+6 * 12 * * Output 3 * Enter the infix expression to evaluate: 4*6^2 * 256 Applications Expression Evaluation: Stacks are commonly used in the evaluation of mathematical expressions, such as infix and postfix expressions. By using a stack, one can easily convert an infix expression to postfix and then evaluate the postfix expression. This is because stacks provide a last-in-first-out (LIFO) data structure, which is well suited for this type of evaluation. Undo/Redo functionality: Stacks can be used to implement undo and redo functionality in applications, such as text editors and image editors. By maintaining a stack of previous states, the application can easily undo and redo actions, by popping and pushing states from the stack. Syntax Checking: Stacks can be used in parsing and syntax checking of programming languages. For example, in a compiler or interpreter, a stack can be used to keep track of the current state of the program being parsed, such as keeping track of matching brackets or keeping track of function calls. This allows for efficient and accurate checking of the syntax of the program, and aids in error handling. Termwork 2 - infix to postfix Algorithm Create an empty stack. Initialize an empty string (result) to store the postfix expression. Iterate through each character of the prefix expression, starting from the rightmost character. If the current character is an operand, append it to the result string. If the current character is an operator, pop the top two elements from the stack and append them to the result string, separated by the current operator. Then, push the current operator onto the stack. Repeat steps 3-5 for all characters of the prefix expression. Once all characters have been processed, pop any remaining operators from the stack and append them to the result string. Reverse the result string and return it as the postfix expression. IO 1 2 3 4 5 6 7 8 9 10 11 12 * ➜ programs git:(ds) ✗ gcc tw2.c && ./a.out * Output 1 * Enter the exp: 4-6+7*7 * 46-77* * * Output 2 * Enter the exp: 7-4+3^5 * 74-35^ * * Output 3 * Enter the exp: 3+5+4 * 35+4+ Applications Same as termwork 1 ...

November 16, 2023 · 24 min · 4913 words · Aum Pauskar