Monday, November 10, 2014

PIC16F8722 write CRC 16 calculation in assembly language

I  have written asm code written to determine a polynomial CRC 16 8005 (x16+x15+x2+1) checksum.

Theres many scripts in C but i have written one in assembler for the Microchip  pic16f8722 

To test if it works i require the following hex string

313233343536373839

to produce the checksum FEE8.

Build in MPLAB 8.87 IDE, C18 Compiler, PIC16F8722, Assembly language
Anyone can contact me if you want this code.

Reach me at http://www.xtintt.com   or contact me at skype: xtint.technology or write me at info@xtintt.com

project link: Odesk.com 

Thursday, October 30, 2014

Hardware Bitcoin Wallet

A minimal Bitcoin (see http://bitcoin.org/ ) wallet for embedded devices. The
wallet is responsible for parsing transactions, prompting the user and signing
transactions. In order to do this, the wallet also stores and manages private
keys, but it does not store anything else. The wallet is not aware of the
blockchain and communicates with a BitCoin client ("the host" from the point
of view of the code here) via. a point-to-point stream-based link.

Everything in the top-level source directory is self-contained and should be
platform-independent. The only platform-dependent file there is common.h,
which should be modified if porting to other platforms. hwinterface.h
describes what platform-dependent functions need to be implemented. The
Makefile in the top-level source directory will build platform-independent
unit tests. Those unit tests can make use of the test vectors in the
test_vectors/ subdirectory.

Everything in the avr/ subdirectory is specific to the 8 bit AVR platform. The
Makefile in avr/ will produce a (non-testing) binary suitable for programming
an 8 bit AVR device with.

Link: https://github.com/someone42/hardware-bitcoin-wallet

Tools for Building this:
OS: Ubuntu 12.04 
Compiler: AVRGCC
Programmer: AVRDude
Dev. Board: Arduino Mega or Arduino Uno.

How to Operate This Walllet:

1. You need to have desktop application.
2. Which will connected serially with virtual USB of PC with wallet and accepts commands.
3. Accordingly wallet will perform tasks.

Good Luck.

http://in.linkedin.com/in/dhavalnpatel/


Wednesday, September 17, 2014

Raspberry_PI_01_Level_Shifter_Circuit


  • Hardware Connection between Raspberry PI and Arduino Uno level Shifter circuit for Serial Port UART interfacing with each other.

  • TX pin second last from Arduino GPIO is connected with 1.6K ohm resister and resistor is connected with RX pin of raspberry pi at pin number 5, again, this pin 5 is connected with Ground GND using 3.3kOhmResistor as shown.

  •  RX pin from Arduino board is directly connected with TX pin of Raspberry PI,there is no need to do voltage level shifting.


Thursday, May 22, 2014

How to Run QT Application on raspberry PI Board at Startup

How to Run QT Application on raspberry PI Board at Startup.

1. Download ubuntu 12.04 and install ubuntu workspace (like 5Gb to 25GB as much as you can) as much as you can give to Ubuntu during time of installation.

2.Download QT Creator IDE , Different way are available to install.
     a. Directly download QT Creator  from QTProject.org site
     b. Goto Ubuntu Software Center and Search "QT" From Results find QTCreator and Install it.

3. If you are downloading specific version of QT from QTproject site as .run file.
   You need to make that file as excutable on Ubuntu by firing this command.
   chmod  +x /PATHOF.run press enter on Terminal.

( For open Terminal fire ALT +CTRL+T)

4. Now, Directly double click on  QTfileXX.run give Next Next Next Qt Creator will be installed.

5. Browse Project from Example and Run Qmake and Build ALL and Run. Application will run on Screen of Desktop.

6.Now to Run this application On Raspberry Pi baord. You need to cross compile that Application.
 Which is one Different Story. I will explain on another one. For that You need to have arm-linux-uclibgnueabi-g++ compiler, qmake build by Your Linux Repo for ARM and Specific to your QT Vesrion as same application was built on QtCretor IDE's QT version.  Make it clear version of QTCreator IDE and QT.

  7. Once you have cross compiled QT Application Binary ready to put it on raspberyy pi board.
You need to have Custom Linux Repo or Raspbian Linux Repo.  Make it sure it have already QT package installed. Which is also a different Story and require detailed explanation.

8.Once you have Raspberrypi Board ready with Linux Installed have Login prompt coming on power up your Linux image is ready to use for QT Application.

9. Just Copy Qt Application Binary Files to raspberry Pi's /root/ directory.
    First take SD card from Raspberry Pi board and plug it to ubuntu CPU.
    fire command : cp -avr /sourcedir  /media/SDCARD/root/

10.once copied, you need to have script to run at startup at /etc/init.d/  folder.
    For that first 
    a. goto  /media/SDCARD/etc/init.d/
    b. gedit S50Network  // text file opens in gedit viewer.
    c. delete all contents from these S50Netwro file
    d. Type:   cd /root
                   ./NameofQTBianry    
       (Which is already placed on root directory)  
    e. you need to save as file as difrent name like S60MyQTApp and close gedit.
   
11. Again you need to make script excutable by typing command:
       chmod +X S60MyQTApp

12.Done. Exit from all. Plug your SD card Power UP. Your App will work on Raspberyy Pi.
     You can see on your screen of Raspberry Pi board attached with it by HDMi or other video interface.

13.Thanks for reading.

Happy Coding.

Note: If you have reached to step 12 you are coolest person with COOL peach of mind as it required lots of patience.








Saturday, January 18, 2014

Development Environment & Platforms

Development Environment & Platforms

In embedded system software development, there is varieties of development environment available on internet, most of them which is widely used are listed below:

Android SDK/NDK
This is basically use for android application development. There is two parts here one is SDK and other is NDK,
SDK is software development kit and NDK is native software development kits.
Generalized application are written and developed in SDK while advanced application which use direct kernels are developed use NDK.

Dynamic C
From Rabbit Company, this is customize IDE environment and enhance language for doing C programming for specific Rabbit Processor and micro controllers. They provides readly available software library code to use it from its core lirary into the application firmware program, which can dramatically reduce the development time for very complex application development based on single chip computers like Rabbit BL4S series board.

Atmel Studio
Atmel® Studio  is the integrated development platform (IDP) for developing and debugging Atmel ARM® Cortex-M and Atmel AVR® microcontroller- (MCU-) based applications. The Atmel Studio  IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code.

Code Composer Studio
Code Composer Studio™ (CCStudio) is an integrated development environment (IDE) for Texas Instruments (TI) embedded processor families. CCStudio comprises a suite of tools used to develop and debug embedded applications. It includes compilers for each of TI's device families, source code editor, project build environment, debugger, profiler, simulators, real-time operating system and many other features. The intuitive IDE provides a single user interface taking you through each step of the application development flow. Familiar tools and interfaces allow users to get started faster than ever before and add functionality to their application thanks to sophisticated productivity tools.

Linux-GCC
The GNU Compiler Collection includes front ends for CC++, Objective-C, FortranJava, Ada, and Go, as well as libraries for these languages (libstdc++, libgcj,...). GCC was originally written as the compiler for the GNU operating system. The GNU system was developed to be 100% free software, free in the sense that it respects the user's freedom.

IAR Embedded Workbench
IAR Embedded Workbench is a high-performance C/C++ compiler and debugger tool suite for applications based on 8-, 16-, and 32-bit microcontrollers. IAR Systems collaborates with all of the leading silicon vendors worldwide to ensure that our software supports more devices in more processor architectures than any other tool on the market.

AVR Studio
AVR Studio  is the integrated development platform (IDP) for developing and debugging  AVR® microcontroller- (MCU-) based applications. The AVR Studio IDP gives you a seamless and easy-to-use environment to write, build and debug your applications written in C/C++ or assembly code.

Visual Studio
Visual Studio is a comprehensive collection of tools and services to help you create a wide variety of apps, both for the Microsoft platform and beyond. Visual Studio also connects all of your projects, teams, and stakeholders. Now your team can work with greater agility from virtually anywhere—irrespective of development tool, including Eclipse and Xcode. Whether you’re designing mission-critical .NET apps, writing blazing fast code with C++ AMP, or testing and debugging a cloud-connected HTML/JavaScript app that runs on many devices, join millions of developers worldwide in choosing Visual Studio as your essential development environment.

GitHub-Repo
GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over four million people use GitHub to build amazing things together.

Visual Basic 6.0
Visual Basic is a third-generation event-driven programming language and integrated development environment (IDE) from Microsoft for its COM programming model first released in 1991. Microsoft intends Visual Basic to be relatively easy to learn and use.[1][2] Visual Basic was derived from BASIC and enables the rapid application development (RAD) of graphical user interface (GUI) applications, access to databasesusing Data Access ObjectsRemote Data Objects, or ActiveX Data Objects, and creation of ActiveX controls and objects.

MPLAB
MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for the development of embedded applications on Microchip's PIC and dsPIC microcontrollers.

Arduino
Arduino is a single-board microcontroller, intended to make the application of interactive objects or environments more accessible.[1] The hardware consists of an open-source hardware board designed around an 8-bit Atmel AVR microcontroller, or a 32-bit AtmelARM. Pre-programmed into the on-board microcontroller chip is a boot loader that allows uploading programs into the microcontroller memory without needing a chip (device) programmer.

Visual C++
Microsoft Visual C++ (often abbreviated as MSVC or VC++) is a commercial (free version available), integrated development environment (IDE) product from Microsoft for the C,C++, and C++/CLI programming languages. It features tools for developing and debuggingC++ code, especially code written for the Microsoft Windows API, the DirectX API, and the Microsoft .NET Framework.

Code Warrior
Freescale CodeWarrior Development Studio for Microcontrollers (in the following referenced as CodeWarrior) is an Eclipse based IDE from Freescale which amongst others supports the Freescale Kinetis MCU (Cortex-M4) family. J-Link is natively supported since CodeWarrior V10.1 and does not require additional software components like the J-Link GDBServer. For more information about CodeWarrior and the installation process, please refer to www.freescale.com.

MATLAB
MATLAB® is a high-level language and interactive environment for numerical computation, visualization, and programming. Using MATLAB, you can analyze data, develop algorithms, and create models and applications. The language, tools, and built-in math functions enable you to explore multiple approaches and reach a solution faster than with spreadsheets or traditional programming languages, such as C/C++ or Java.


For Software Development Team contact http://www.xtintt.com

View Xtint Technologies's LinkedIn profileView Xtint Technologies's profile