After setting READ protection option byte value = CC (chip protection). NO STM32 target found - stm32

After setting READ protection option byte value = CC (chip protection) I can't program the card anymore. CubeIDe and CubeProgrammer cannot find the device.
Anyone know how they can fix it thanks

You have permanently disabled debug access on this chip, it can never be restored. That is the whole point and only reason that you would ever write 0xCC.
See the appropriate page in the manual (eg: if you are using stm32f4 then it is section 3.7.3 of RM0090)

This protection level disables debug interface permanently. Your chip is bricked and you need to buy another one.
If your application requires updates you need to write your own bootloader (or the app can upgrade itself) as only the program can reprogram the FLASH in this protection mode.

Related

LIBUSB for FTDI2232 to use I2C mode

Please help me to support this question:
Due to, we have used FTDI2232H and need to use “LIBUSB" to control FTDI2232H.
I want to ask How to control FTDI2232H related programs/code through LIBUSB.
1.To change MPSS mode to interface2?
2.To open iic and init it?
3.To set clock rate & set master mode?
4.The master write I2C code to slave ?
5.The master read I2C code from slave ?
I want to know how to use LIBUSB(libusb_bulk_transfer、libusb_control_transfer) to control FTDI2232H?
Please anyone can help me to solve my problem,I can not get full information from vendor here!!!
You can try this open-source library to talk with the FTDI: https://github.com/lipro/libftdi
Download and unzip it and then just follow the procedure on the README.
Once you finish it, if you are on build you can:
cd examples
make
Now you just load your examples on the terminal like using './'
You can also modify as you want and then remake those examples.

Change Address STM32F722 Program

I'm very inexperienced in STM32 programming and want to ask about firmware installment with ST-Link-Utility.
I've a flight controller that must be flashed with custom firmware.
The firmware provided by developer now is compiled as hex file and has starting address at 0x8008000.
I need to change it's starting address to 0x2000000.
Is there any possibilities to do this, without modify source code of the hex file?
What I need to do first in this case?
The firmware provided by developer now is compiled as hex file and has starting address at 0x8008000. I need to change it's starting address to 0x2000000.
This is not possible without recompiling / linking.
For example the controller must know where to find the vector table. And the position is defined somewhere in the hex.
I hope I got what you said.
With ST-Link-Utility you can easily change offset of Flash Address this way:
Check that and let me know.

Smart Card Validation Pin Error 0x80100001

I'm using gemalto usb token and SafeNet software to digitally sign my documents in Adobe Acrobat Pro. While everything worked fine and nothing has changed, I'm getting this error after entering my (correct) pin number. The message says: 'Error occurred during PIN validation'. According to authentication return values, it is related to:
SCARD_F_INTERNAL_ERROR: An internal consistency check failed.
Besides that, 'Validating Signatures' option in Adobe is disabled.
Thank you!
For somebody else encountering a similar problem: The error code is by PCSC, and so not necessarily card-related.
If other applications are also unable to verify the PIN, issue might be caused by reader driver, or as in the case above by any software required for accessing the card [here: SafeNet]. Re-installing those is worth a ttry.
Same problem here.
On a new PC couldn't use this token.
I checked how windows recognized the device on a different one where worked fine. Seems like the culprit is a newer driver from microsoft.
All I had to do was to replace it. Visit here and click:
"Gemalto IDPrime - SmartCard - 10/20/2017 12:00:00 AM - 8.5.0.7 Windows 10 Creators Update and Later Servicing Drivers"
Download the cab file.
Extract it.
Next you have to "update" the driver with the old one.

Video mode in OGRE Engine Rendering Setup

I'm trying out OGRE and I'd like to ask a question about the OGRE config dialog.
The dialog which can be opened with Ogre::Root::showConfigDialog(), lists only "800 x 600 # 32-bit colour" for Video Mode, both for "Direct3D9 Rendering Subsystem" and "Direct3D11 Rendering Subsystem".
My question is, why is there only 800x600x32 ? Is there a way to make it list more video modes, like 1024x768x32, 1980x1080x32, etc?
I've tried Google-searching, but the closest thing I got was how to change video mode without the use of the config dialog.
Any help would be appreciated, thank you!
EDIT:
Here's a link to my screenshot of OGRE Engine Rendering Setup dialog, since I don't have enough reputation to upload images.
http://imgur.com/kNDy48E
In general: This list will automatically contain all available video modes reported by the selected rendering API drivers. If you are certain that your current API and drivers should allow more, you could debug the respective _initialise() function, e.g. for D3D11 in OgreD3D11RenderSystem.cpp:
RenderWindow* D3D11RenderSystem::_initialise( bool autoCreateWindow, const String& windowTitle )
Internally, the function D3D11VideoModeList::enumerate() will be used to enumerate all possible values from the driver.
I saw that your GPU uses "NVIDIA Optimus". Did you try to tell NVIDIA to use the correct GPU for your Ogre application? I saw that in the config dialog the GTX is selected, but just to make sure: How to select Optimus GPU.
Also this Optimus policy trick might help:
NVIDIA released Optimus rendering policies guidelines not long ago.
If the user has driver 302 or higher, we can hint the driver to use the dedicated GPU. All we need to do is to export a variable:
extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

Obtaining GUID for Existing USB Device on Windows XP

I need to find the GUID for an existing USB device attached to my Windows XP system. How can this be done using WMI or the registry? Or, is there another avenue that I should explore? Thanks.
Additional Information:
I need to find the GUID for a specific known device; it is not expected to change. If I need to write a little program, use some tool, or look somewhere in the Windows system to find this information, it's all the same to me.
Control Panel > Device Manager > Right Click on Device > Properties > Details Tab > Change 'Property' to Driver Key > Guid will be displayed in 'value' section
For a specific known device, the easiest way I've found is to open the .inf file for that device's driver (if you have the driver); it should be clearly indicated there.
You can probably also poke around under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB.
DevViewer from Symantec also seems to do the trick.