If you are only going to program a handful of chips and they all have full Java or Python support (ready made libraries for those chips), but no direct C support, then go for those languages. You can always switch to C later on same chips.
I did program chips in ASM (AVR), they went on the field, and as far as I know they are still working. I program in C and I program in python. When the task was to count pulses, assign a date stamp, code it in SHA256 and send it over GPRS to a server, expecting JSON, running a database with a billion entries, then the coding was done in python.
I never used ASM after entering the 32 bit era. I remember having a nice ASM library for serial port, with named registers, designated memory spaces, pointers for circular buffers. It was great fun. That was days to write and debug, and sure I used it in multiple projects.
Now, I can simply send a tuple or list of variables though any communication device, and it comes back unchanged. In fact, I can compress the tuple with a single command, and make it use less data, so it arrives faster to the other side of the wire. And the compression is tested, built in, kinda optimal.
Only grudge I have against full python is the memory usage. My benchmark is an almost empty interpreter of python 2.7, on linux, which is around 10 MB. It becomes a problem, if you want to run more than one at the same time.