Load program into PIC18F without using PICKit or ICSP - pic

I am currently learning about using PIC18F4550 for my project. Is there any way that I can load the program into the PIC without using ICSP or PICKit? At the first time of using the PIC, can we use USB to load the program into the PIC?

I had this question myself,
To program a PIC, many devices can be used. Microchips website gives couple of options . However, The PICKit can program and also do hardware debugging for PIC controllers. There is ICD3 which gives access to more in-depth analysis. There are many more third-party programmers for the PIC controller.
One of these programmers are needed for programming a PIC for the first time. your PIC can be initially programmed with bootloader code. Once you load bootloader you no longer need any programmer. You can send your Hex files over USB or UART and PIC will program itself with this new hex Code. ezbl from microchip has way to do it with USB but it only works with PIC24/dsPIC33
Microchip has very good documentation on bootloader AN851.

You can try the simple PIC programmer found on this page. It works with PICpgm, which is freeware. I've used this software before and it should work great with the 4550.
http://tomeko.net/misc.php
http://picpgm.picprojects.net/

Related

Esp32 at command customization method

I want to use AT command with separate coding in esp32 at Arduino IDE. However, if you flash AT command firmware and upload another code from Arduinoide, the existing at command will not be available. Is there a way to use it together?
What you're asking doesn't make any sense. The ESP32 can run a single program that's stored in its flash memory. It's not capable of running two firmware images at the same time. If it's running the AT firmware, it's not running an Arduino program, and vice versa.
You also do not need to talk to the AT firmware from an Arduino program running on the ESP32; the Arduino program is capable of directly doing much more than the AT firmware offers.
You might possibly be able to build a single firmware image that included both the AT firmware and an Arduino program, but it would be a great deal of work and would likely never work well if at all. Most of the AT firmware is released as compiled binaries, not source, so you would have little chance of customizing it or making it work in a hybrid environment.
You'd be much better off to reconsider why you think you need to do this and find a better solution.

Newbie question about programming Altera Cyclone II in Quartus II

I bought a cheap board with Altera Cyclone II from ebay and want to start experimenting.
I created a simple program, after some research I managed to compile it and after flashing to the board the programming tool said it is 100% complete.
However the behaviour of the board has not changed since the time I first plugged the power supply in(three onboard LEDs are blinking).
It looks like the program has not been loaded to the board.
I don't know what I did wrong.
Any ideas? I am completely new to FPGAs. Thank you
Normally the configuration stream is written into fpga sram, and it won't live across the power cycle. If you want that configuration be "permanent", write it into on-board configuration flash chip.
Did you check with this short introduction: http://laurie.tech/start-fpga/ ?

Emulating altera bitstream

I have a compiled (binary) bitstream file which I just want to emulate in software.
Linux, Mac, Windows.. anything goes. I know it will probably take a long time but I don't really care how long it takes. Anyway, I do NOT want to load the code to a real FPGA and run it.
Is there a software that can be used to achieve that goal?
You can't.
FPGA simulators only work on HDL code. Once a design has been built into a bitstream, that file can only be used to program an FPGA.

Writing linux kernel mode driver for custom touch screen

I'm having some difficulties writing a kernel mode driver on debian wheezy for a custom touch screen, that has driver only for windows. My main problem is, that I have absolutely no experience in driver programming, apart from the tutorial write-to-system-log module I've found on the internet. Also, I have some more specific problems as can be seen below.
Hardware structure:
The touch screen itself is connected to a microcontroller, that connects through serial port to the computer. I've managed to initialize the controller from user-space program connecting through ttyS0, and recieve raw data from the touch screen, but I just couldn't manage to get started from kernel space.
I've looked around in drivers/input/touchscreen/, opened a few .c files, so maybe I could find out, how to start at least, but I'm pretty stuck around here, because I can't substitute some values to match my hardware. In linux/serio.h there is a long list of defines for serio protocols, that for example elo touch screen's driver is using:
#define SERIO_ELO 0x29
Is there any kind of documentation about these values, their meanings, or how they are interpreted?
Are there any books or websites, from which I could learn more about this topic? For now, this is a really dark spot for me.
I don't intend to ask for a full solution, but I'd really appreciate some examples or tutorials regarding serial communicaton and/or touch event gerenation in kernel mode.
Thanks in advance for your help.

Testing PCI Interface on FPGA

My boss has given a code for testing PCI express on an Altera board. The code consist of several c code files having instructions such as reading Bios, setting some registers, writing to buffers etc.
My job at present is to see the functionality of the code by running it.
I am new to FPGA and I am unable to understand what tools, compilers etc will I use for compiling it for the FPGA.
Since it is a C code so I am sure I cannot use the same environment as that of Verilog/VHDL. Can I get some hints as to what compilers are available for compiling C code for testing various interfaces of an FPGA?
Thanks and regards
H
If the FPGA board is just connected through a standard PCIexpress interface, it isn't that hard to create a Linux driver to simply access a couple of registers. This might even be easier to do than getting some old DOS-based drivers to work.
I did some work on this in a pre-project to my masters thesis some years ago - if you're interested, it's available here: http://loejer.dk/files/FORK,%20pdf.zip
It sounds like the intent is that you connect the PCI-E card to a normal computer with a PCI-E slot, then run the test software on the host computer, so it will talk to the board via PCI-E, and exercise the board from the host, collect data on the host, and so on.
Such code will almost certainly be quite non-portable. You'll probably need to ask what system it's for (or examine the code to find hints -- e.g., if it starts with #include <windows.h> that's a pretty fair indication that it's for Windows).
The OS it's written for will give at least an 80% (or so) clue about what compiler to use -- if it's for Windows, chances are pretty good that it's intended for Microsoft's compiler. If it's for Linux, there's an even better chance that it's for gcc/g++. If it's for MacOS, it's probably for g++, but if it's really new, might target Clang.

Resources