CLion + St-Link + bluepill - clion

So basically im trying to start my program for my BluePill (stm32f103c8t6) in CLion, i chose my ST-Link as a cfg for OpenOCD. First it asked to select a clock speed, then it asked about the transport (hla_swd or jtag), and then it goes like
enter image description here

Solved.
I changed the config in Run/Debug Configuration -> OCD "program name" -> Board config file
https://gist.github.com/hemalchevli/2d483df78d1f484229410f1c6a439254

Related

Accidentally deleted IOS on 3750G Switch

I accidentally deleted the IOS on 3750G Switch. As a result, I am thrown in the ROMMON mode when I console into the switch via Putty. I tried the following:
1) I set up my static IP as 192.168.168.167 255.255.255.0 with default gateway as the same as my switch's IP 192.168.168.168
2) I set the IP on the switch as 192.168.168.168 255.255.255.0 and default gateway as 192.168.168.167. I set the TFTP Server's IP same as my laptop's static IP.
3) Then I typed tftpdnld after I placed the new IOS on the to TFTP root folder.
That failed when I did all this on Putty. The switch was not able to read the Ethernet cable.
By the way, the show command does not work on ROMMON mode via Putty
Furthermore, the show command does not work on ROMMON mode. I have the IOS that will be uploaded into the switch. But how do I do that? Please help. Thanks. I am doing all this via console. Here is the site I used as a guide: http://www.mikcx.com/cisco-ios-deleted-by-mistake-recovery-guide/
I got it fixed and followed the rules below (I used ExtraPutty!!)
There are times when the IOS on a switch may crash and (as a last resort) you need to use the painfully slow Xmodem transfer to save your life. I bought a 3550 a while back and that is precisely what happened with me. Without much else to try, I decided to give Xmodem a shot. I want to share how this can be used and I hope that this may be useful to others.
Since the device is in ROMMON, there’s not much that you can do. There is, however, a method to transfer another IOS using a direct console connection with a PC (the transfer is over your console cable itself). This wonderful little thing is called Xmodem. Now the rate of transfer depends on the baud rate that you set for your console connection. I tried this with baud set to 9600 and man, it seemed like it would take over 3 hours for the transfer to complete. With a little trial and error, I found that the maximum baud rate I could set it up to work perfectly with was 57600. You can set the baud rate in ROMMON using the set BAUD command. See below:
switch: set BAUD 57600
This MUST also match on the terminal program setting as well. So (I’m using TeraTerm) under Setup -> Serial Port, set the baud rate to match whatever you set it as in ROMMON. Now we’re ready to transfer the file. The command is very straight forward:
switch: copy xmodem: flash:c3550-ipservicesk9-mz.122-44.SE6.bin
Once you press enter, you see the following:
Begin the Xmodem or Xmodem-1K transfer now…
C
At this point, you need to choose the file location from the terminal program. Go under File -> Transfer -> Xmodem -> Send and choose the file that you wish the transfer. The transfer will start and you will see a transfer window pop up. I made sure when the following image popped on ExtraPutty terminal ---> flash:c3750-ipbasek9-mz.150-2.SE8.bin Begin the Xmodem or Xmodem-1K transfer now... CCCCCCCCCCxmodem and I quickly went to the panel and click Xmodem located at the panel on top and click send and drag the c3750-ipbasek9-mz.150-2.SE8.bin file and have it sent through. Hence it explained why I kept get an I/O error, which made sense. Input error because the switch was waiting for me to send it the OS file.
Please take a look at this link for future reference and many thanks to this author who wrote this up: https://supportforums.cisco.com/blog/151336/loading-ios-switch-xmodem

Why and how to fix? IIS Express "The specified port is in use"

We know a random port number is assigned to a web application in Visual Studio. It works fine in my office desktop. But when I pull the code onto my laptop (from VisualStudio.com) and run the web app. I got a message, saying,
The specified port is in use
Port 10360 is already being used by another application.
Recommendations
Try switching to port other than 10360 and higher than 1024.
Stop the application that is using port 10360.
I can fix it using Recommendation #1 by changing the port into something else like 13333. But I am very curious what happened to port 10360. How can I check what application is using port 10360? How can I stop that application?
I had a similar issue running Visual Studio 2019 on Windows 10.
Some solutions that worked for others seemed to include:
Changing the application port number.
Have Visual studio automatically assign a port number each time the application start.
Restart Visual Studio
Restart the computer.
Unfortunately, none of these solutions worked for me, assigning another port number did work but was not an acceptable solution as it was important for my application to run on a specified port.
The Solution
First I ran the command:
netsh http add iplisten ipaddress=::
from an elevated command-line process. This solved the initial error, when attempting to run the application I no longer got the "port in use" error, instead, I now got an error stating the application was unable to bind to the port because administrative privileges were required. (although I was running Visual Studio as administrator)
The second error was caused by Hyper-V that adds ports to the Port Exclusion Range, the port my application uses was in one of these exclusion ranges.
You can view these ports by running the following command: netsh interface ipv4 show excludedportrange protocol=tcp
To solve this second error:
Disable Hyper-V: Control Panel-> Programs and Features-> Turn Windows features on or off. Untick Hyper-V
Restart the computer.
Add the port you are using to the port exclusion range: netsh int ipv4 add excludedportrange protocol=tcp startport=50403 numberofports=1 store=persistent
Reenable Hyper-V
Restart the computer
From here everything worked perfectly.
i solve the problem this way...
File -> Open -> Web Site...
After that select Local IIS under IIS Express Site
remove the unwanted project.
hope this help.
change it in solution (right Click) -> property -> web tab
Click Create Virtual Directory (in front of project Url textbox)
This was haunting me for over a year!
For me,
no website was running iin IIS Express
nothing was using the port as determined by running: netstat -ano at the command line.
The solution was to run
netsh http add iplisten ipaddress=::
from the command line.
Happy days, and credit to: James Bryant! https://developercommunity.visualstudio.com/content/problem/110767/specified-port-is-in-use.html
SIMPLE SOLUTION THAT WORKED FOR ME: (Credits to combination of other's answers)
**My System Info:**
Windows 10 build : 1809
IIS Version : 10.0.17763.1
Hyper-V : Enabled
Docker : Installed - 2.3.0.2 (45183)
Check for blocked ports range in CMD (admin)
>> netsh interface ipv4 show excludedportrange protocol=tcp
(Sample output):
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
49696 49795 (SEE HERE, 49796 to 49895 is not blocked)
49896 49995
... list goes on ...
Open Visual Studio and Navigate to > Project > Properties > Web > Servers > Project Url
Use the Port that is not blocked.
(Sample port):
http://localhost:49796/
Restart Visual Studio (if required)
Have a coffee and share love. (required) :)
I had the same problem, but no proccess appeared neither in netstat nor in resmon.
What solved the problem for me was closing all the open browser windows.
You're looking for netstat.
Open an administrative command shell and run
netstat -aob
And look for port 10360. It'll show you what executable opened the port and what PID to look up in Task Manager. (Actually, run netstat -? in an unprivileged shell first, because I don't approve of blindly running anything you don't understand, especially in a privileged context.)
Here's what the switches do:
-a shows all connections or open ports, not just active ones - the port you want is probably listening, not active.
-o shows the owning PID of the connection or port, so you can find the process in Task Manager's Processes tab. (You might need to add the PID column in Task Manager. View->Select Columns)
-b shows the binary involved in opening the connection or port. This is the one that requires elevated access.
The cause of this issue in my own case is a bit different. Everything was working fine until I started docker to do some other stuff. Starting docker, in one way or the other, added some new ranges of ports to the Port Exclusion Ranges. What to do:
Open command prompt (As an administrator)
run: netsh interface ipv4 show excludedportrange protocol=tcp (You should see the port your application is using in the excluded port ranges)
run: net stop winnat
run: netsh interface ipv4 show excludedportrange protocol=tcp (by this time, the Administered port exclusions ranges should reduce)
run net start winnat.
If the problem was caused by Windows NAT Driver (winnat), then you should be good by now.
Close the VS
Start again - right click and run as admin
Run your project again.
Running visual studio in administrative mode solved my issue
Delete the .sln file, if you have one.
Open the file C:\Users\NN\Documents\IISExpress\config\applicationhost.config
Locate the problematic site in configuration/system.applicationHost/sites and delete the whole site section.
"Open Web Site.." from Visual Studio and the project will be given a random new port.
For me the "The specified port is in use" error is usually fixed (well actually worked arround) by stopping the "Internet Connection Sharing (ICS)" (SharedAccess) and the "World Wide Web Publishing Service" (W3SVC) service.
After the project / ISS Express is started the stopped services can be started again without issues.
Whenever i receive the error the port (in the 50000 range) is definitely not in use (checked with netstat & tcpview).
It would be nice if Microsoft did some integration testing of Visual Studio / IIS Express along side with HyperV and the "normal" IIS Service OR gave some guidance on which port ranges to use for VS / IIS Express (and which ports to avoid).
Visual studio 2015
Close all the files you have open inside Visual studio.
Then close application and exit Visual Studio.
Open Visual Studio and it should successfully run.
I hope this helps.
netstat didn't show anything already using the port
netstat -ano | findstr <your port number> showed nothing for me. I found out that port was excluded using this command to see what ranges are reserved by something else:
netsh interface ipv4 show excludedportrange protocol=tcp
You can try to unblock the range from the start port for a number of ports (need Command Prompt with Administrator):
netsh int ip delete excludedportrange protocol=tcp numberofports=<number of ports> startport=<start port>
However, in my case I couldn't unblock the range, I just got "Access is denied", so I ended up having to pick another port for my site.
My original solution: The only thing that worked was deleting the .vs folder in the solution folder. (I've since found you can just delete the .vs/config/applicationhost.config instead to avoid losing so many settings).
If netstat doesn't show anything, try a reboot.
For me, nothing appeared in netstat for my port. I tried closing Google Chrome browser windows as #Clangon and #J.T. Taylor suggested, but to no avail.
In the end a system reboot worked, however, so I can only assume that something else was secretly holding the port open. Or perhaps it just took longer than I was prepared to wait for the ports to be released after Chrome shut down.
For me, close all application and restart the computer.
When window start, Open Visual studio first, then open browser and click run(F5).
Now it works. I don't know why.
Open Task Manager and Just Close all processes of 'IIS Express System Tray' and 'IIS Express Worker Process' and Re-run the Project
For me, the Google Chrome browser was the process which was using the port. Even after I closed Chrome, I found that the process still persisted (I allow Chrome to "run in background" so that I can receive desktop notifications). I went into Task Manager, and killed the Chrome browser process, and then started my web application, it worked like a charm.
Open your csproj with for example Notepad ++ and scroll down to DevelopmentServerPort. Change it to something else as long as it's above 1024 like rekommended (so for example 22312). Also change the IISUrl to http://localhost:22312/. Save your changes and restart the project.
In my case there was no application using specified port and elevated running of Visual Studio didn't help either.
What worked for me is to reinstall IIS Express and than restart computer.
For me it was an orphaned VBCSCompiler task from a previous run, that didn't shut down and was somehow interfering. Killing that task solved it.
https://developercommunity.visualstudio.com/content/problem/31482/vbcscompiler-does-not-shut-down.html
You need to configre this parameter by running the following in the administrative command prompt:
netsh http add iplisten ipaddress=::
click on the notification present on bottom of the task bar if you receiving the error like port in use then select the iiss icon right click then click on exit ,it work like charm for me
I had same error showing up. I had my web service set as an application in IIS and I fixed it by:
Right-click on my WebService project inside my solution > Properties > Web > Under 'Servers' change from IIS Express to Local IIS (it will automatically create a Virtual Directory which is what you want)
When Port xxxx is already being used, there's always a PID (Process Id) elaborated with the error. Simply go to the task manager on the machine you are running the application, click on details, and you will identify what the other application is. You can then decide whether you want to end that process or not
Just to add to this, I had the full IIS feature turned on for one of my machines and it seemed to cause this to happen intermittently.
I also got random complaints about needing Admin rights to bind sites after a while, I assume that somehow it was looking at the full IIS config (Which does require admin as it's not a per-user file).
If you are stuck and nothing else is helping (and you don't want to just choose another port) then check you have removed this if it is present.
FWIW, I tried tons of these options and I didn't get anywhere. Then I realized I had installed VMWare Player just before the issue started. I uninstalled it, and this error went away.
I'm sure there's some way to make them coexist, but I don't really need Player so I just removed it. If you've tried all kinds of stuff and it's not working consider looking through any programs you've installed recently (especially those that deal with network adapters?) and see if that gets you anywhere.
In Visual Studio 2017, select Project/Properties and then select the Web option. In the IIS section next to the default project URL click Create Virtual Directory. This solved the problem for me. I think in my case the default project Virtual Directory had been corrupted in some way following a debugging session.
For me only thing worked is removing the element containing my application name, path and binding info under
</system.applicationHost> element in
applicationhost file.
To be found under C:\Users\yourUsername\Documents\IISExpress\config
Closed the the solution , deleted the bad site element , save the applicationhost file and close.
Reopen the application/Website from Visual studio using Admin rights - Rebuilt and Run. Voila... A new port is auto assigned to your application which solves the purpose.
Can also be verified without running-- check the Properties window for the solution and URL will have new port number.
In my case I got also this issue from my ASP Core 3.1 projets.
I thing that for some reason visual studio ignore the IP/Port setting in the project property and start it on 5000 and 5001. I discovered this while attempting to start my Core 3.1 projects from prompt using dotnet run
And this post helped me
How to specify the port an ASP.NET Core application is hosted on?
It suggest to
Specify the port in the appsettings.json or maybe appsettings.development.json. (see lower)
Close Visual Studio
Delete /.vs, /bin, /obj folders
Restart Visual Studio.
appsettings.json / appsettings.development.json content
{
/***************************
"Urls": "http://localhost:49438", <==== HERE
/***************************/
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"connectionStrings": { ... }
}

How to debug LPC1768 using Keil + H-JTAG over LPT

I have a LPC1768 based board. And a H-Jtag Debugger(LPT based). I am able to Detect/Erase/Flash HEX files to the LPC1768 using H-JTAG software.
I want to debug my board inside keil uVision. As I go into debug mode keil gives 'USB connection Error' and subsequently no code updation/debug happens. I think It shouldn't be looking for a usb connection, but it should be connecting to the H-Jtag server running in background which it doesn't.I couldn't find a setting which I can configure to tell keil to look/connect to H-JTAG server.
Anybody who has done this please point me in right direction ?
I got the debugging Working by following this.
Here is the list of steps for reference.
Install the latest H-JTAG software from H-Jtag site.
Open Toolconf.exe(Part of H-Jtag software installation). And pass the TOOLS.INI(Located inside the directory where you installed uVision/Keil MDK. Mine is at "C:\Embedded\keil\")
Open Flasher.exe, Select proper Target(mine was NXP --> LPC1768) in Flash Selection menu, and in Programming Menu set the TYPE to Auto Flash Download
Open the H-jtag.exe. Go to the Setting tab USB/LPT Selection Option select LPT and set proper values in LPT Jtag settings and LPT Port settings options (usually default settings will work).
Finally, go to Flasher tab and Check on the AUTO DOWNLOAD option. That's it !
Now you are ready to debug the device( LPC1768 ) inside uVision. Open the uVision and do select the H-JTAG CORTEX M3 for *Debug* and *Utilities* TABs inside Project Property window.
Write, compile, Build and Start Debugging !

Setting up phpstorm 4 with XAMPP on Windows 7

I need help setting up phpstorm (4.0) with XAMPP which is at the default location c:\xampp\htdocs. I create all my projects at c:\xampp\htdocs\projectname.
Here are the things I have already done:
Setup the PHP interpretator by going to settings and then PHP (main menu)
Go to PHP > Servers and then
To setup run configuration I have the done the following:
Now when I run using the above configuration it just takes me to localhost in my browser, instead of the file I am editing (http://localhost instead of localhost/myproject/myfile.php).
What am I missing? I read the help topics of phpstorm and googled a lot but still couldn't figure it out.
Turns out you don't need to set up run configuration. The answer lies in setting up the mapping in the deployment tab in settings.
(assuming that you are creating your projects in c:\xampp\htdocs)
To do that go to settings (Ctrl + Alt + S) and then choose deployment:
Under mappings tab, it should look like this:
And after that you can view the file in the browser through this menu:
Check the answer to this question. If you need to debug, the recommended way to do it is zero configuration debugging.

How to debug wince exe directly without using a vcproj

I'd like to humbly ask: How can I debug a wince executable(.exe) that has been stored on the wince device, using Visual Studio's debugging facility.
As we all know, using VS2005, we can create a Win32 Smart Device Project(.vcproj),add our source files to it, compile, select a target device, and press F5, then the generated exe will be deployed to the wince device and gets attached to the VS2005 wince debugger. But I'd really like to know, if someone has a wince exe(call it stock) already in his wince-device and have source code corresponding to that exe, HOW DO I start debugging that stock exe directly WITHOUT compiling the source code? I cannot compile the source code perhaps because I'm missing some library source or other reason.
For PC program, I know I can open an exe as a project so to start debugging that exe. I can find the main() function and set a break point on its first statement, then F5 will stop at that break point.
Thank you in advance.
I often run into this problem as well; I wish the "exe project" created would allow changing the debugger to "Smart Device Native Debugger" (or somehow set the platform) -> Let me know if someone knows how to do that.
The two ways I have been able to work around this are:
New Project Method:
Create an empty "Smart Device" project with no source code.
Change the "Configuration Properties > Debugging > Remote Executable" to your "Stock EXE" that you put on the device, ie: \FlashDisk\MyApp.exe
F5 to debug, and choose "Yes" when it says "deployment errors, do you wish to continue".
Attach to Process Method:
Same as above, but, instead of editing "Remote Executable" just start the "Stock EXE" via rapistart.exe / running manually via screen. Then make sure the "Attach to Process" transport is set to "Smart Device" and you should be able to attach.
After this you need to manually load the pdb, choose src files, etc, as you would a normal PC app.
If you want to debug a .NET CF managed application then the following link should help:
http://msdn.microsoft.com/en-us/library/b1ksfbk7%28VS.80%29.aspx
I only used managed .NET CF but I found this link that has loads of goodies on how to debug both managed and native code on a Windows Mobile 5 in VS2005. Most of it should apply to Win CE as well:
http://msdn.microsoft.com/en-us/library/aa446524.aspx
I figure out the method lately after going through quite a lot of reading and experiment(so many tricky points that Microsoft does not clearly document). user2093823 kindly summarized the procedure.
Some historical screen shots:

Resources